Podobieństwo - polerowanie i pakowanie
używamPloeh.SemanticComparison
jestLikeness
jako sposób efektywnego wyrażania zamierzonych wyników procesu mapowania (jak opisano wDoskonały kurs zaawansowanego testowania jednostek w PluralSight Marka Seemanna).
Testuję niektóre dane poprawnie zmapowane, co wygląda tak:
[Theory, AutoData]
static void ShouldYieldIdentifierUpdatedEvent( Vendor sut, string name, string version, Guid id )
{
var result = sut.SyncProduct( name, version, id );
var expected = new { ProductId = id, Name = name, Version = version };
expected.AsSource().OfLikeness<NewMappingsEvent>()
.Without( y => y.ProgrammaticIdentifier)
.ShouldEqual(result);
}
Nie jestem jednak zadowolony: -
Chcę zastosować nazwę do podobieństwa (tj. Nazwać moje.Without( y => y.ProgrammaticIdentifier)
dostosowywanie)Straciłem symetrięAssert.Equal( expected,actual, comparer)
(ale zdecydowanie potrzebuję komunikatu o błędzie zShouldEqual
)Czy istnieje wyraźniejszy sposób wyrażenia tego w ramach wyrażonych ograniczeń?