public void EqualsIsSummetricWithSemanticallyUnequalObjects() { // Fixture setup var source = new ConcreteType("Lorem", "ipsum", "dolor", "sit"); var dest = new DoublePropertyHolder <object, object>(); dest.Property1 = source.Property1; dest.Property2 = "abc"; var sut = new SemanticComparer <ConcreteType, DoublePropertyHolder <object, object> >(); // Exercise system and verify outcome Assert.False(sut.Equals(source, dest) && sut.Equals(dest, source)); // Teardown }
public void SutWithSemanticEqualityWillReturnTrue() { // Fixture setup var value = new ConcreteType("Lorem", "ipsum", "dolor", "sit"); var sut = new SemanticComparer <ConcreteType, DoublePropertyHolder <object, object> >(); var other = new DoublePropertyHolder <object, object>(); other.Property1 = value.Property1; other.Property2 = value.Property2; // Exercise system var result = sut.Equals(value, other); // Verify outcome Assert.True(result); // Teardown }