public void ShouldNotThrowWhenTypeOverridesGetHashCodeMethod(GetHashCodeOverrideAssertion sut)
        {
            var exception = Record.Exception(
                () => sut.Verify(typeof (ClassWhichOverrideGetHashCodeMethod)));

            Assert.Null(exception);
        }
        public void ShouldThrowWhenTypeDoesNotOverrideGetHashCodeMethod(GetHashCodeOverrideAssertion sut)
        {
            var exception = Record.Exception(
                () => sut.Verify(typeof (ClassWhichDoesNotOverrideGetHashCodeMethod)));

            Assert.IsType<GetHashCodeOverrideException>(exception);
        }
        public void ShouldContainTypeNameInExceptionMessage(GetHashCodeOverrideAssertion sut)
        {
            var exception = Record.Exception(
                () => sut.Verify(typeof (ClassWhichDoesNotOverrideGetHashCodeMethod)));

            Assert.Contains(typeof(ClassWhichDoesNotOverrideGetHashCodeMethod).Name ,exception.Message);
        }
 public void ShouldBeIdiomaticAssertion(GetHashCodeOverrideAssertion sut)
 {
     Assert.IsAssignableFrom<IdiomaticAssertion>(sut);
 }