Podobieństwo - polerowanie i pakowanie

używamPloeh.SemanticComparisonjestLikeness 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ń?

questionAnswers(1)

yourAnswerToTheQuestion