public void RemoveMessageFromBufferWhenSent()
        {
            SUT.Add(EmailMessage1);
            SUT.SendAll();

            SUT.UnsentMessagesCount.Should().Be(0);
        }
Exemple #2
0
 public void ShouldSendEmailToGateway_AutoMoqData_With_Freeze(
     EmailMessage message,
     [Frozen] Mock <IEmailGateway> mock,
     EmailMessageBuffer sut)
 {
     sut.Add(message);
     sut.SendAll();
     mock.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Once);
 }
        public void RemoveMessageFromBufferWhenSent()
        {
            var sut = new EmailMessageBuffer();

            sut.Add(_fixture.Create <EmailMessage>());

            sut.SendAll();

            Assert.That(sut.UnsentMessagesCount, Is.EqualTo(0));
        }
        public void SendEmailToGateway_AutoMoq_Theory(
            EmailMessage message,
            [Frozen] Mock <IEmailGateway> mockGateway,
            EmailMessageBuffer sut) // Notice the order of the parameters; the mock should be frozen before the SUT is created
        {
            sut.Add(message);

            sut.SendAll();

            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Once);
        }
        public void RemoveMessageFromBufferWhenSent()
        {
            var fixture = new Fixture();
            var sut     = new EmailMessageBuffer();

            sut.Add(fixture.Create <EmailMessage>());

            sut.SendAll();

            Assert.Equal(0, sut.UnsentMessagesCount);
        }
Exemple #6
0
        public void SendEmailGateway_AutoMoq_v2(EmailMessage message,
                                                [Frozen] Mock <EmailGateway.IEmailGateway> mockGateway,
                                                EmailMessageBuffer sut)
        {
            sut.Add(message);

            sut.SendAll();

            //no reference to the mock IEmailGateway that was automatically provided
            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Once);
        }
        public void SendEmailToGateway_Manual_Moq()
        {
            var fixture     = new Fixture();
            var mockGateway = new Mock <IEmailGateway>();
            var sut         = new EmailMessageBuffer(mockGateway.Object);

            sut.Add(fixture.Create <EmailMessage>());

            sut.SendAll();

            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Once);
        }
        public void SendAll_ShouldSendThreeMessages_AutoMoqData([Frozen] Mock <IEmailGateway> mockGateway,
                                                                EmailMessageBuffer sut)
        {
            //arrange

            //act
            sut.SendAll();

            //assert
            sut.UnsentMessagesCount.Should().Be(0);
            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Exactly(3));
        }
        public void SendEmailToGateway_AutoMoq(EmailMessage message,
                                               [Frozen] Mock <IEmailGateway> mockGateway,
                                               EmailMessageBuffer sut)
        {
            // arrange
            sut.Add(message);

            // act
            sut.SendAll();

            // assert
            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Once());
        }
Exemple #10
0
        public void QueueShouldBeEmpty(Fixture fixture, EmailMessageBuffer sut)
        {
            var collection = fixture.CreateMany <EmailMessage>(10);

            foreach (var emailMessage in collection)
            {
                sut.Add(emailMessage);
            }

            sut.SendAll();

            Assert.Empty(sut.Emails);
        }
        public void SendAll_ShouldSendThreeMessages_AutoMoqAndFreeze()
        {
            //arrange
            _fixture.Customize(new AutoMoqCustomization());
            Mock <IEmailGateway> mockGateway = _fixture.Freeze <Mock <IEmailGateway> >();
            EmailMessageBuffer   sut         = _fixture.Create <EmailMessageBuffer>();

            //act
            sut.SendAll();

            //assert
            sut.UnsentMessagesCount.Should().Be(0);
            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Exactly(3));
        }
Exemple #12
0
        public void ShouldSendEmailToGateway_AutoMoqData_With_Freeze(EmailMessage message,
                                                                     //Use frozen to get the same intance used throughout the test
                                                                     [Frozen] Mock <IEmailGateway> mockGateway,
                                                                     EmailMessageBuffer sut)
        {
            // arrange
            sut.Add(message);

            // act
            sut.SendAll();

            // assert
            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Once());
        }
Exemple #13
0
        public void RemoveMessageFromBufferWhenSent()
        {
            var sut = new EmailMessageBuffer();

            var message = new EmailMessage("*****@*****.**",
                                           "Hi, hope you are good today, Jason",
                                           true);

            sut.Add(message);


            sut.SendAll();

            Assert.Equal(0, sut.UnsentMessagesCount);
        }
        public void SendAll_ShouldSendOneMessage_ManualSetup()
        {
            //arrange
            Mock <IEmailGateway> mockGateway = new Mock <IEmailGateway>();
            EmailMessageBuffer   sut         = new EmailMessageBuffer(mockGateway.Object);

            sut.Add(_fixture.Create <EmailMessage>());

            //act
            sut.SendAll();

            //assert
            sut.UnsentMessagesCount.Should().Be(0);
            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Once());
        }
Exemple #15
0
        public void ShouldSendEmailToGateway_AutoMoqData(EmailMessage message,
                                                         Mock <IEmailGateway> mockGateway,
                                                         EmailMessageBuffer sut)
        //this test will fail because the instance used of mockGateway (Mock<IEmailGateway> mockGateway) is different by
        //the one generated by autofixture in sut
        //Use frozen to get the same instance used throughout the test,
        //cf. ShouldSendEmailToGateway_AutoMoqData_With_Freeze
        {
            // arrange
            sut.Add(message);

            // act
            sut.SendAll();

            // assert
            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Once());
        }
Exemple #16
0
        public void ShouldSendEmailToGateway_Manual_Rhino()
        {
            // arrange
            var fixture = new Fixture();

            var mockGateway = MockRepository.GenerateStub <IEmailGateway>();

            var sut = new EmailMessageBuffer(mockGateway);

            sut.Add(fixture.Create <EmailMessage>());


            // act
            sut.SendAll();


            // assert
            mockGateway.AssertWasCalled(x => x.Send(Arg <EmailMessage> .Is.NotNull));
        }
Exemple #17
0
        public void ShouldSendEmailToGateway_Manual_Moq()
        {
            // arrange
            var fixture = new Fixture();

            var mockGateway = new Mock <IEmailGateway>();

            //Added an extra params to break the test but autofixture with automoq doesn't break
            var sut = new EmailMessageBuffer(mockGateway.Object);

            sut.Add(fixture.Create <EmailMessage>());


            // act
            sut.SendAll();


            // assert
            mockGateway.Verify(x => x.Send(It.IsAny <EmailMessage>()), Times.Once());
        }