public void ShouldCorrectlyCalculateHashCode()
        {
            var fixture = new Fixture();

            var calculatesHashCodeAssertion = new GetHashCodeSuccessiveAssertion(fixture);

            calculatesHashCodeAssertion.Verify(ValueTypes());
        }
 public void VerifyWellBehavedGetHashCodeSelfOverrideDoesNotThrow()
 {
     // Fixture setup
     var dummyComposer = new Fixture();
     var sut = new GetHashCodeSuccessiveAssertion(dummyComposer);
     // Exercise system and verify outcome
     Assert.DoesNotThrow(() =>
         sut.Verify(typeof(WellBehavedGetHashCodeSelfObjectOverride)));
     // Teardown            
 }
 public void VerifyClassThatDoesNotOverrideObjectGetHashCodeDoesNothing()
 {
     // Fixture setup
     var dummyComposer = new Fixture();
     var sut = new GetHashCodeSuccessiveAssertion(dummyComposer);
     // Exercise system and verify outcome
     Assert.DoesNotThrow(() =>
         sut.Verify(typeof(ClassThatDoesNotOverrideObjectGetHashCode)));
     // Teardown
 }
 public void VerifyNullMethodThrows()
 {
     // Fixture setup
     var dummyComposer = new Fixture();
     var sut = new GetHashCodeSuccessiveAssertion(dummyComposer);
     // Exercise system and verify outcome
     Assert.Throws<ArgumentNullException>(() =>
         sut.Verify((MethodInfo)null));
     // Teardown
 }
 public void SutIsIdiomaticAssertion()
 {
     // Fixture setup
     var dummyComposer = new Fixture();
     // Exercise system
     var sut = new GetHashCodeSuccessiveAssertion(dummyComposer);
     // Verify outcome
     Assert.IsAssignableFrom<IdiomaticAssertion>(sut);
     // Teardown
 }
 public void ComposerIsCorrect()
 {
     // Fixture setup
     var expectedComposer = new Fixture();
     var sut = new GetHashCodeSuccessiveAssertion(expectedComposer);
     // Exercise system
     ISpecimenBuilder result = sut.Builder;
     // Verify outcome
     Assert.Equal(expectedComposer, result);
     // Teardown
 }
 public void VerifyIllbehavedEqualsSelfBehaviourThrows()
 {
     // Fixture setup
     var dummyComposer = new Fixture();
     var sut = new GetHashCodeSuccessiveAssertion(dummyComposer);
     // Exercise system and verify outcome
     Assert.Throws<GetHashCodeOverrideException>(() =>
         sut.Verify(typeof(IllBehavedEqualsSelfObjectOverride)));
     // Teardown
 }