Imagen - pulido y envasado

Estoy usandoPloeh.SemanticComparisonesLikeness como una manera de expresar efectivamente los resultados previstos de un proceso de mapeo (como se describe enEl excelente curso de Pruebas unitarias de Mark Seemann en PluralSight).

Estoy probando que algunos datos se han asignado correctamente, lo que se ve así:

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

Sin embargo, no estoy feliz: -

Quiero aplicar un nombre al parecido (es decir, nombrar mi.Without( y => y.ProgrammaticIdentifier) personalización)He perdido la simetría conAssert.Equal( expected,actual, comparer) (pero definitivamente necesito el mensaje de error deShouldEqual)

¿Hay una forma más limpia de expresar esto dentro de las restricciones expresadas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta