Ploeh.SemanticComparison
マッピング プロセスのLikeness
意図した出力を効果的に表現する方法としてを使用しています ( PluralSight に関する Mark Seemann の優れた Advanced Unit Testing コースで説明されているように)。
一部のデータが正しくマッピングされていることをテストしています。これは次のようになります。
[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);
}
しかし、私は満足していません:-
- Resemblance に名前を付けたい (つまり、
.Without( y => y.ProgrammaticIdentifier)
カスタマイズに名前を付ける) - との対称性が失われました
Assert.Equal( expected,actual, comparer)
(ただし、 からのエラー メッセージは確実に必要ですShouldEqual
) 。
表現された制約内でこれを表現するよりクリーンな方法はありますか?