Ho chiesto una domanda qui sopra e Laiv ha condiviso il seguente www.gridshore.nl/2009/07/29/domain-driven-design-and-the-equals-method/">link.
Nell'articolo; si afferma che Eric Evans evita i metodi .equals
sulle Entità.
In questo questione; il rispondente accettato parla dell'utilizzo di asserzioni personalizzate per il test unitario piuttosto che .equals
Pertanto, sto osservando le affermazioni personalizzate. Ho creato la seguente classe, che confronta due prodotti:
public static bool IsSameDescription(Product product1, Product product2)
{
// Check for null values and compare run-time types.
if (product1 == null || product2==null)
return false;
return (product1.description == product2.description);
}
Quindi posso farlo nel Test unità:
Assert.AreEqual(expectedProduct, actualProduct);
Che cosa voglio confrontare due elenchi di prodotti? Potrei usare un metodo .equals e poi fare questo:
CollectionAssert.AreEqual(expectedProductList, actualProductList);
Come potrei implementarlo? Potrei implementare una funzione statica che accetta due elenchi e li confronta. Tuttavia, CollectionAssert non lo userebbe? Lo farebbe? (perché usa .equals dietro le quinte) Come posso fare questo?