public void ByValUserDefinedType(UdtStruct value1, UdtStruct value2, ComparisonResult expectedResult) { //Arrange. PersonByValUdt p1 = ModelsHelper.CreatePersonByValUdt(); p1.ByValProperty = value1; PersonByValUdt p2 = ModelsHelper.CreatePersonByValUdt(); p2.ByValProperty = value2; ObjectComparer comparer = ObjectComparer.Create <PersonByValUdt>(); //Act. var result = comparer.Compare(p1, p2, out bool isDifferent); //Assert. isDifferent.Should().Be((expectedResult & ComparisonResult.NotEqual) == ComparisonResult.NotEqual); result[nameof(PersonByValUdt.ByValProperty)].Result.Should().Be(expectedResult); }