public void SendOnlySpecifiedNumberOfMessages() { var sut = new EmailMessageBuffer(); var message1 = new EmailMessage("*****@*****.**", "Hi, hope you are good today, Jason", true); var message2 = new EmailMessage("*****@*****.**", "Hi, hope you are good today, Jason", true); var message3 = new EmailMessage("*****@*****.**", "Hi, hope you are good today, Jason", true); sut.Add(message1); sut.Add(message2); sut.Add(message3); sut.SendLimited(2); Assert.Equal(1, sut.UnsentMessagesCount); }
public void AddingToExistingList() { var fixture = new Fixture(); var sut = new EmailMessageBuffer(); fixture.AddManyTo(sut.Emails, 100); }
public void AddMessageToBuffer() { var sut = new EmailMessageBuffer(); sut.Add(_fixture.Create <EmailMessage>()); Assert.That(sut.UnsentMessagesCount, Is.EqualTo(1)); }
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 AddMessageToBuffer() { var fixture = new Fixture(); var sut = new EmailMessageBuffer(); sut.Add(fixture.Create <EmailMessage>()); Assert.Equal(1, sut.UnsentMessagesCount); }
public void RemoveMessageFromBufferWhenSent() { var sut = new EmailMessageBuffer(); sut.Add(_fixture.Create <EmailMessage>()); sut.SendAll(); Assert.That(sut.UnsentMessagesCount, Is.EqualTo(0)); }
public void AddMessageToBuffer() { var fixture = new Fixture(); var mockGateway = new Mock <EmailGateway.IEmailGateway>(); var sut = new EmailMessageBuffer(mockGateway.Object); sut.Add(fixture.Create <EmailMessage>()); Assert.Equal(1, sut.UnsentMessagesCount); }
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 RemoveMessageFromBufferWhenSent() { var fixture = new Fixture(); var sut = new EmailMessageBuffer(); sut.Add(fixture.Create <EmailMessage>()); sut.SendAll(); Assert.Equal(0, sut.UnsentMessagesCount); }
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 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 SendOnlySpecifiedNumberOfMessages() { var sut = new EmailMessageBuffer(); sut.Add(_fixture.Create <EmailMessage>()); sut.Add(_fixture.Create <EmailMessage>()); sut.Add(_fixture.Create <EmailMessage>()); sut.SendLimited(2); Assert.That(sut.UnsentMessagesCount, Is.EqualTo(1)); }
public void Foo_AutoMoq_WithReturnValue() { _fixture.Customize(new AutoMoqCustomization()); Mock <IEmailGateway> mockGateway = _fixture.Freeze <Mock <IEmailGateway> >(); EmailMessageBuffer sut = _fixture.Create <EmailMessageBuffer>(); EmailMessage emailMessage = _fixture.Create <EmailMessage>(); string wasSent = sut.SendOne(emailMessage); wasSent.Should().Be("The call was successful."); mockGateway.Verify(x => x.Send(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()); }
public void SendOnlySpecifiedNumberOfMessages() { var fixture = new Fixture(); var sut = new EmailMessageBuffer(); sut.Add(fixture.Create <EmailMessage>()); sut.Add(fixture.Create <EmailMessage>()); sut.Add(fixture.Create <EmailMessage>()); sut.SendLimited(2); Assert.Equal(1, sut.UnsentMessagesCount); }
public void AddMessageToBuffer() { var sut = new EmailMessageBuffer(); var message = new EmailMessage("*****@*****.**", "Hi, hope you are good today, Jason", true); sut.Add(message); Assert.Equal(1, sut.UnsentMessagesCount); }
public void AutoCreation() { var fixture = new Fixture(); var sut = new EmailMessageBuffer(); EmailMessage message = fixture.Create <EmailMessage>(); //act sut.Add(message); //assert Assert.Single(sut.Emails); }
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 AutoCreation() { // arrange var fixture = new Fixture(); var sut = new EmailMessageBuffer(); EmailMessage message = fixture.Create <EmailMessage>(); // act sut.Add(message); // assert Assert.Equal(1, sut.Emails.Count); }
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)); }
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()); }
public void AutoCreation() { //arrange var fixture = new Fixture(); var sut = new EmailMessageBuffer(); EmailMessage message = fixture.Create <EmailMessage>(); //act sut.Add(message); //arrange Assert.That(sut.Emails, Has.Exactly(1).Items); }
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()); }
public void ManualCreation() { //arrange var sut = new EmailMessageBuffer(); EmailMessage message = new EmailMessage("*****@*****.**", "Hope you are doing well", false, "Email Subject"); message.Subject = "Hi"; //act sut.Add(message); //assert Assert.Single(sut.Emails); // Assert.Equal(12,sut.Emails.Count); }
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 SetUp() { // ************ AutoFixture.AutoMoq: This AutoMoqCustomization now can create Moq Interfaces! So we no longer need to create a Moq IEmailGateway. var fixture = new Fixture() .Customize(new AutoMoqCustomization()); EmailMessage1 = fixture.Create <EmailMessage>(); EmailMessage2 = fixture.Create <EmailMessage>(); EmailMessage3 = fixture.Create <EmailMessage>(); // ********** Now we freeze this so that the IEmailGateway is always the same, now we can use .Verify() on it. MockEmailGateway = fixture .Freeze <Mock <IEmailGateway> >(); SUT = fixture.Create <EmailMessageBuffer>(); }
public void Add_ShouldAddOneMessageToTheBuffer_AutoCreation() { //arrange Mock <IEmailGateway> mockGateway = new Mock <IEmailGateway>(); EmailMessageBuffer sut = new EmailMessageBuffer(mockGateway.Object); EmailMessage expectedEmailMessage = _fixture.Create <EmailMessage>(); //act sut.Add(expectedEmailMessage); //assert sut.Emails.Count.Should().Be(1); EmailMessage actualEmailMessage = sut.Emails[0]; actualEmailMessage.ShouldBeEquivalentTo(expectedEmailMessage); }
public void ManualCreation() { // arrange var sut = new EmailMessageBuffer(); EmailMessage message = new EmailMessage("*****@*****.**", "Hello, hope you are well, Jason", false); message.Subject = "Hi"; // act sut.Add(message); // assert Assert.Single(sut.Emails); }
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()); }