CodePaste Logo
New Snippet New Snippet Recent Snippets Recent Snippets My Snippets My Snippets Web Code Search Snippets Search
Sign inor Register
Language: C#

Testing the finally clause?

215 Views
Copy Code Show/Hide Line Numbers
   1:  public void Send_DatabaseTimeOutNewsletterFails_LastPublishDateNotChanged()
   2:  {          
   3:      //Arrange
   4:      var originalNewsletter = new AutomaticNewsletter()
   5:                           {
   6:                               Id = 1,
   7:                               Name = "TestNewsletter",
   8:                               LastPublishStatus = PublishStatus.NotSent,
   9:                               LastPublishDate = new DateTime(2000, 01, 01),
  10:                               PublishDay = DayOfWeek.Friday,
  11:                               PublishHour = 15,
  12:                               PublishMinute = 0,
  13:                               Frequency = INewsletter.PublishFrequency.Daily
  14:                           };
  15:      var resultNewsletter = new AutomaticNewsletter();
  16:   
  17:      var fakeNewsletterRepository = new Mock<INewsletterRepository>();
  18:      fakeNewsletterRepository.Setup(r => r.GetContent(It.IsAny<INewsletter>())).Throws(SqlExceptionFake.CreateSqlException("Connection timed out", 0));
  19:      fakeNewsletterRepository.Setup(r => r.Save(It.IsAny<INewsletter>()))
  20:                              .Callback((INewsletter newsletter) =>
  21:                              { 
  22:                                   resultNewsletter = (AutomaticNewsletter)newsletter;
  23:                              });
  24:      var serializer = new Mock<INewsletterSerializer>();
  25:   
  26:      var sendmail = new SendMailManager(originalNewsletter)
  27:      {
  28:          Logger = new Mock<IThreadLogger>().Object,
  29:          NewsletterRepository = fakeNewsletterRepository.Object,
  30:          Serializer = serializer.Object,
  31:          StatBuilder = new Mock<IStatBuilder>().Object
  32:      };
  33:      var tracker = new NewsLetterTracker();
  34:      tracker.TryAdd(1);
  35:   
  36:      //Act
  37:      try
  38:      {
  39:          sendmail.Send(tracker);
  40:      }
  41:      catch (SqlException ex)
  42:      {
  43:          //do Nothing, I want to test the finally clause
  44:      }
  45:   
  46:      //Assert
  47:      Assert.AreEqual(new DateTime(2000, 01, 01), resultNewsletter.LastPublishDate);
by serbrech
  January 27, 2010 @ 4:28am
Tags:
Description:
Trying to test what is the test of my newsletter in the finally clause when the SqlException is thrown (caught at a higher level)
Modules are decoupled and injected using Lazy-Loading properties.

Add a comment


Report Abuse
brought to you by:
West Wind Techologies



If you find this site useful and use it frequently please consider making a donation to support this free service.
Donate