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));
        }
示例#2
0
        public void WeaklyTypedGetHashCodeOfNullThrows()
        {
            // Arrange
            IEqualityComparer sut = new MemberInfoEqualityComparer();

            // Act & assert
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.GetHashCode(null));
        }
示例#3
0
        public void StronglyTypedGetHashCodeWithNullShouldNotThrowAsExceptionIsNotExpectedThere()
        {
            // Arrange
            var sut = new MemberInfoEqualityComparer();

            // Act & assert
            Assert.Null(Record.Exception(() =>
                                         sut.GetHashCode(null)));
        }
        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 StronglyTypedGetHashCodeWithNullSutThrows()
        {
            // Fixture setup
            var sut = new MemberInfoEqualityComparer();

            // Exercise system and verify outcome
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.GetHashCode(null));
            // Teardown
        }
示例#6
0
        public void StronglyTypedGetHashCodeWithNullShouldNotThrowAsExceptionIsNotExpectedThere()
        {
            // Fixture setup
            var sut = new MemberInfoEqualityComparer();

            // Exercise system and verify outcome
            Assert.Null(Record.Exception(() =>
                                         sut.GetHashCode(null)));
            // Teardown
        }
        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));
        }
示例#8
0
        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);
        }
示例#9
0
        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);
        }
示例#10
0
        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 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 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 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
 }
 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
 }