public void Equals_True_WithTypeComparer() { // Arrange var componentUnderTest = new FieldValueEqualityComparer(); FieldValueEqualityComparer.SetAssembliesWithTypesToUseValueSemanticsOn(new[] { typeof(SimplePoco).Assembly }); var lhs = new SimplePoco(); var rhs = new InheritedSimplePoco(); // Act FieldValueEqualityComparer.AddFieldValueTypeEqualityComparer(new InheritedSimplePocoTypeComparer()); FieldValueEqualityComparer.AddFieldValueTypeEqualityComparer(new InheritedSimplePocoTypeComparer()); var actual = componentUnderTest.Equals(lhs, rhs); // Assert Assert.AreEqual(true, actual); }