Esempio n. 1
0
        public void VerifyEqualsMethodCorrectBehaviourInvokesEquals()
        {
            var fixture          = new Fixture();
            var verifyHelperMock = new Mock <EqualsOverrideAssertionVerifyHelper>(false, false, true)
            {
                CallBase = true,
            };
            var verifyHelperQueue = new Queue <EqualsOverrideAssertionVerifyHelper>(new[]
            {
                verifyHelperMock.Object,
                new EqualsOverrideAssertionVerifyHelper(false, false, true),
            });

            fixture.Register(() => verifyHelperQueue.Dequeue());
            var equalsOverrideTheory = new EqualsOverrideTheory(
                fixture.Create <EqualsOverrideAssertionVerifyHelper>(),
                fixture.Create <EqualsOverrideAssertionVerifyHelper>(),
                true);
            var sut = new SutAlias(fixture, equalsOverrideTheory);

            sut.Verify(verifyHelperMock.Object.GetType().GetMethod(
                           nameof(EqualsOverrideAssertionVerifyHelper.Equals),
                           new[] { typeof(EqualsOverrideAssertionVerifyHelper) }));

            verifyHelperMock.Verify(
                h => h.Equals(It.IsAny <EqualsOverrideAssertionVerifyHelper>()),
                Times.Exactly(3));
        }
Esempio n. 2
0
        public void VerifyEqualsMethodWithTheoryWithLeftThatDoesNotMatchReflectedTypeThrows()
        {
            var fixture = new Fixture();

            fixture.Inject(new EqualsOverrideAssertionVerifyHelper(false, true, false));
            var equalsOverrideTheory = new EqualsOverrideTheory(
                true,
                fixture.Create <EqualsOverrideAssertionVerifyHelper>(),
                false);
            var sut = new SutAlias(fixture, equalsOverrideTheory);

            var ex = Record.Exception(() => sut.Verify(TestHelperType.GetMethod(
                                                           nameof(EqualsOverrideAssertionVerifyHelper.Equals),
                                                           new[] { typeof(EqualsOverrideAssertionVerifyHelper) })));

            Assert.IsType <EqualsOverrideException>(ex);
            Assert.Contains("owner method", ex.Message, StringComparison.Ordinal);
        }
Esempio n. 3
0
        public void VerifyEqualsMethodWithTheoryWithRightThatCannotBeAssignedDoesNotInvokeEquals()
        {
            var fixture          = new Fixture();
            var verifyHelperMock = new Mock <EqualsOverrideAssertionVerifyHelper>(false, true, false)
            {
                CallBase = true,
            };
            var equalsOverrideTheory = new EqualsOverrideTheory(
                verifyHelperMock.Object,
                true,
                false);
            var sut = new SutAlias(fixture, equalsOverrideTheory);

            sut.Verify(verifyHelperMock.Object.GetType().GetMethod(
                           nameof(EqualsOverrideAssertionVerifyHelper.Equals),
                           new[] { typeof(EqualsOverrideAssertionVerifyHelper) }));

            verifyHelperMock.Verify(
                h => h.Equals(It.IsAny <EqualsOverrideAssertionVerifyHelper>()),
                Times.Never());
        }
Esempio n. 4
0
        public void VerifyEqualsMethodViolatesEqualsSuccessiveContractThrows()
        {
            var fixture                   = new Fixture();
            var equalsResultQueue         = new Queue <bool>(new[] { true, false, true });
            var differentSuccessiveTheory = new EqualsOverrideAssertionVerifyHelper(
                false,
                false,
                () => equalsResultQueue.Dequeue());
            var equalsOverrideTheory = new EqualsOverrideTheory(
                new EqualsOverrideAssertionVerifyHelper(false, false, false),
                differentSuccessiveTheory,
                true);
            var sut = new SutAlias(fixture, equalsOverrideTheory);

            var ex = Record.Exception(() => sut.Verify(TestHelperType.GetMethod(
                                                           nameof(EqualsOverrideAssertionVerifyHelper.Equals),
                                                           new[] { typeof(EqualsOverrideAssertionVerifyHelper) })));

            Assert.IsType <EqualsOverrideException>(ex);
            Assert.Contains("multiple times", ex.Message, StringComparison.Ordinal);
        }