public void MemberInfoComparer_ArgumentChecking() { var eq = new MemberInfoEqualityComparer(); AssertEx.ThrowsException <ArgumentNullException>(() => eq.ResolveMember(targetType: null, typeof(object).GetMethods().First()), ex => Assert.AreEqual("targetType", ex.ParamName)); AssertEx.ThrowsException <ArgumentNullException>(() => eq.ResolveMember(typeof(object), member: null), ex => Assert.AreEqual("member", ex.ParamName)); }
private static void AssertEqual(MemberInfo m1, MemberInfo m2) { var eq = new MemberInfoEqualityComparer(); Assert.IsTrue(eq.Equals(m1, m2)); Assert.AreEqual(eq.GetHashCode(m1), eq.GetHashCode(m2)); }
public void SutIsWeaklyTypedEqualityComparer() { // Fixture setup // Exercise system var sut = new MemberInfoEqualityComparer(); // Verify outcome Assert.IsAssignableFrom<IEqualityComparer>(sut); // Teardown }
public void StronglyTypedGetHashCodeWithNullShouldNotThrowAsExceptionIsNotExpectedThere() { // Arrange var sut = new MemberInfoEqualityComparer(); // Act & assert Assert.Null(Record.Exception(() => sut.GetHashCode(null))); }
public void SutIsWeaklyTypedEqualityComparer() { // Arrange // Act var sut = new MemberInfoEqualityComparer(); // Assert Assert.IsAssignableFrom <IEqualityComparer>(sut); }
public void WeaklyTypedGetHashCodeOfNullThrows() { // Arrange IEqualityComparer sut = new MemberInfoEqualityComparer(); // Act & assert Assert.Throws <ArgumentNullException>(() => sut.GetHashCode(null)); }
public void WeaklyTypedEqualsReturnsCorrectResult(object x, object y, bool expectedResult) { // Fixture setup IEqualityComparer sut = new MemberInfoEqualityComparer(); // Exercise system var result = sut.Equals(x, y); // Verify outcome Assert.Equal(expectedResult, result); // Teardown }
public void SutIsWeaklyTypedEqualityComparer() { // Fixture setup // Exercise system var sut = new MemberInfoEqualityComparer(); // Verify outcome Assert.IsAssignableFrom <IEqualityComparer>(sut); // Teardown }
public void StronglyTypedGetHashCodeWithNullSutThrows() { // Fixture setup var sut = new MemberInfoEqualityComparer(); // Exercise system and verify outcome Assert.Throws <ArgumentNullException>(() => sut.GetHashCode(null)); // Teardown }
public void StronglyTypeEqualsReturnsCorrectResult(MemberInfo x, MemberInfo y, bool expectedResult) { // Fixture setup var sut = new MemberInfoEqualityComparer(); // Exercise system var result = sut.Equals(x, y); // Verify outcome Assert.Equal(expectedResult, result); // Teardown }
#pragma warning restore xUnit1010 // Value is not convertiable to the MemberInfo public void StronglyTypedEqualsReturnsCorrectResult(MemberInfo x, MemberInfo y, bool expectedResult) { // Arrange var sut = new MemberInfoEqualityComparer(); // Act var result = sut.Equals(x, y); // Assert Assert.Equal(expectedResult, result); }
public void MemberInfoComparer_Custom_ThrowsNotImplemented() { var eq = new MemberInfoEqualityComparer(); var custom1 = new MyCustomMemberInfo(); var custom2 = new MyCustomMemberInfo(); Assert.ThrowsException <NotImplementedException>(() => eq.Equals(custom1, custom2)); Assert.ThrowsException <NotImplementedException>(() => eq.GetHashCode(custom1)); Assert.ThrowsException <NotImplementedException>(() => eq.ResolveMember(typeof(object), custom1)); }
public void WeaklyTypedEqualsReturnsCorrectResult(object x, object y, bool expectedResult) { // Arrange IEqualityComparer sut = new MemberInfoEqualityComparer(); // Act var result = sut.Equals(x, y); // Assert Assert.Equal(expectedResult, result); }
public void StronglyTypedGetHashCodeWithNullShouldNotThrowAsExceptionIsNotExpectedThere() { // Fixture setup var sut = new MemberInfoEqualityComparer(); // Exercise system and verify outcome Assert.Null(Record.Exception(() => sut.GetHashCode(null))); // Teardown }
public void WeaklyTypedGetHashCodeReturnsCorrectResultForNonMemberInfos(object obj) { // Arrange IEqualityComparer sut = new MemberInfoEqualityComparer(); // Act var result = sut.GetHashCode(obj); // Assert var expectedHashCode = obj.GetHashCode(); Assert.Equal(expectedHashCode, result); }
public void MemberInfoComparer_Default_ThrowsNotSupported() { var eq = new MemberInfoEqualityComparer(); var member1 = new MyMemberInfo(); var member2 = new MyMemberInfo(); Assert.ThrowsException <NotSupportedException>(() => eq.Equals(member1, member2)); Assert.ThrowsException <NotSupportedException>(() => eq.GetHashCode(member1)); Assert.ThrowsException <NotSupportedException>(() => eq.ResolveMember(typeof(object), member1)); }
public void WeaklyTypedGetHashCodeReturnsCorrectResultForTypes(Type t) { // Arrange IEqualityComparer sut = new MemberInfoEqualityComparer(); // Act var result = sut.GetHashCode(t); // Assert var expectedHashCode = t.Name.GetHashCode(); Assert.Equal(expectedHashCode, result); }
public void WeaklyTypedGetHashCodeReturnsCorrectResultForTypes(Type t) { // Fixture setup IEqualityComparer sut = new MemberInfoEqualityComparer(); // Exercise system var result = sut.GetHashCode(t); // Verify outcome var expectedHashCode = t.Name.GetHashCode(); Assert.Equal(expectedHashCode, result); // Teardown }
public void EqualsOfDerivedAndDeclaredPropertyReturnsCorrectResult() { // Arrange var sut = new MemberInfoEqualityComparer(); var declaredProperty = typeof(AbstractType).GetProperty("Property1"); var derivedProperty = typeof(ConcreteType).GetProperty("Property1"); // Act var result = sut.Equals(derivedProperty, declaredProperty); // Assert Assert.True(result); }
public void WeaklyTypedGetHashCodeReturnsCorrectResultForPropertyInfo() { // Arrange IEqualityComparer sut = new MemberInfoEqualityComparer(); var propertyInfo = typeof(PropertyHolder <object>).GetProperty("Property"); // Act var result = sut.GetHashCode(propertyInfo); // Assert var expectedHashCode = propertyInfo.DeclaringType.GetHashCode() ^ propertyInfo.Name.GetHashCode(); Assert.Equal(expectedHashCode, result); }
public void EqualsOfPropertyAndTypeReturnsCorrectResult() { // Arrange var sut = new MemberInfoEqualityComparer(); var pi = typeof(ConcreteType).GetProperty("Property4"); var t = typeof(object).GetTypeInfo(); // Act var actual = sut.Equals(pi, t); // Assert Assert.False(actual); }
public void EqualsOfDeclaredAndDerivedPropertyReturnsCorrectResult() { // Fixture setup var sut = new MemberInfoEqualityComparer(); var declaredProperty = typeof(AbstractType).GetProperty("Property1"); var derivedProperty = typeof(ConcreteType).GetProperty("Property1"); // Exercise system var result = sut.Equals(declaredProperty, derivedProperty); // Verify outcome Assert.True(result); // Teardown }
public void ComparerIsCorrect() { // Arrange var dummyComposer = new Fixture(); IEqualityComparer expected = new MemberInfoEqualityComparer(); var sut = new CopyAndUpdateAssertion(dummyComposer, expected); // Act IEqualityComparer actual = sut.Comparer; // Assert Assert.Equal(expected, actual); }
public void EqualsOfPropertyAndTypeReturnsCorrectResult() { // Fixture setup var sut = new MemberInfoEqualityComparer(); var pi = typeof(ConcreteType).GetProperty("Property4"); var t = typeof(object).GetTypeInfo(); // Exercise system var actual = sut.Equals(pi, t); // Verify outcome Assert.False(actual); // Teardown }
public void WeaklyTypedGetHashCodeReturnsCorrectResultForPropertyInfo() { // Fixture setup IEqualityComparer sut = new MemberInfoEqualityComparer(); var propertyInfo = typeof(PropertyHolder <object>).GetProperty("Property"); // Exercise system var result = sut.GetHashCode(propertyInfo); // Verify outcome var expectedHashCode = propertyInfo.DeclaringType.GetHashCode() ^ propertyInfo.Name.GetHashCode(); Assert.Equal(expectedHashCode, result); // Teardown }
public void EqualsOfDerivedAndDeclaredPropertyReturnsCorrectResult() { // Fixture setup var sut = new MemberInfoEqualityComparer(); var declaredProperty = typeof(AbstractType).GetProperty("Property1"); var derivedProperty = typeof(ConcreteType).GetProperty("Property1"); // Exercise system var result = sut.Equals(derivedProperty, declaredProperty); // Verify outcome Assert.True(result); // Teardown }
public void ComparerIsCorrect() { // Fixture setup var dummyComposer = new Fixture(); IEqualityComparer expected = new MemberInfoEqualityComparer(); var sut = new CopyAndUpdateAssertion(dummyComposer, expected); // Exercise system IEqualityComparer actual = sut.Comparer; // Verify outcome Assert.Equal(expected, actual); // Teardown }
private static void AssertNotEqual(MemberInfo m1, MemberInfo m2) { var eq = new MemberInfoEqualityComparer(); Assert.IsFalse(eq.Equals(m1, m2)); }
public void StronglyTypedGetHashCodeWithNullSutThrows() { // Fixture setup var sut = new MemberInfoEqualityComparer(); // Exercise system and verify outcome Assert.Throws<ArgumentNullException>(() => sut.GetHashCode(null)); // Teardown }
public void WeaklyTypedGetHashCodeReturnsCorrectResultForPropertyInfo() { // Fixture setup IEqualityComparer sut = new MemberInfoEqualityComparer(); var propertyInfo = typeof(PropertyHolder<object>).GetProperty("Property"); // Exercise system var result = sut.GetHashCode(propertyInfo); // Verify outcome var expectedHashCode = propertyInfo.DeclaringType.GetHashCode() ^ propertyInfo.Name.GetHashCode(); Assert.Equal(expectedHashCode, result); // Teardown }
/// <summary> /// Instantiates an equality comparer for structural types, using the given structural member info comparer. /// </summary> /// <param name="memberComparer">The member comparer.</param> public StructuralTypeEqualityComparator(MemberInfoEqualityComparer memberComparer) { TypeMap = new Dictionary <Type, Type>(); MemberComparer = memberComparer; }
public void EqualsOfPropertyAndTypeReturnsCorrectResult() { // Fixture setup var sut = new MemberInfoEqualityComparer(); var pi = typeof(ConcreteType).GetProperty("Property4"); var t = typeof(object); // Exercise system var actual = sut.Equals(pi, t); // Verify outcome Assert.False(actual); // Teardown }