Сходство - полировка и упаковка

я используюPloeh.SemanticComparison«sLikeness как способ эффективно выразить предполагаемые результаты процесса отображения (как описано вОтличный курс продвинутого модульного тестирования Марка Симанна по PluralSight).

Я проверяю, что некоторые данные правильно сопоставлены, и выглядит так:

[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);
}

Тем не менее, я не счастлив: -

Я хочу применить имя к сходству (то есть имя мое.Without( y => y.ProgrammaticIdentifier) настройка)Я потерял симметрию сAssert.Equal( expected,actual, comparer) (но мне обязательно нужно сообщение об ошибке отShouldEqual)

Есть ли более чистый способ выразить это в рамках выраженных ограничений?

Ответы на вопрос(1)

Ваш ответ на вопрос