Сходство - полировка и упаковка
я использую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
)Есть ли более чистый способ выразить это в рамках выраженных ограничений?