Advertisement
Guest User

Untitled

a guest
Dec 14th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. using Moq;
  2. using NUnit.Framework;
  3. using System;
  4. using System.Collections.Generic;
  5. using Tasks.Lab_3;
  6.  
  7. namespace Lab_NUnit_Tests.Lab_3
  8. {
  9. [TestFixture]
  10. public class BookingHelperTests
  11. {
  12. private DateTime Before(DateTime dateTime, int days = 1) { return dateTime.AddDays(-days); }
  13. private DateTime After(DateTime dateTime, int days = 1) { return dateTime.AddDays(days); }
  14.  
  15. private Mock<IBookingRepository> bookingRepositoryMock;
  16.  
  17. private Booking bookingFixture = new Booking
  18. {
  19. ArrivalDate = new DateTime(2019, 11, 29, 11, 05, 0),
  20. DepartureDate = new DateTime(2019, 12, 23, 11, 30, 0),
  21. Id = 1,
  22. Reference = "test",
  23. Status = "Pending",
  24. };
  25.  
  26. [OneTimeSetUp]
  27. public void StorageMockSetupUp()
  28. {
  29. bookingRepositoryMock = new Mock<IBookingRepository>();
  30.  
  31. bookingRepositoryMock.Setup(repository => repository.GetActiveBookings(1)).Returns(new List<Booking> { bookingFixture });
  32. }
  33.  
  34. [TearDown]
  35. public void StorageMockTearDown()
  36. {
  37. bookingRepositoryMock.Invocations.Clear();
  38. }
  39.  
  40. [Test]
  41. public void BookingStartsAndFinishesBeforeAnExistingBookingReturnsEmptyString()
  42. {
  43. var result = BookingHelper.OverlappingBookingsExist(new Booking
  44. {
  45. Id = 1,
  46. ArrivalDate = Before(bookingFixture.ArrivalDate, 2),
  47. DepartureDate = Before(bookingFixture.ArrivalDate)
  48. }, bookingRepositoryMock.Object);
  49.  
  50. Assert.AreEqual(result, string.Empty);
  51. }
  52.  
  53. [Test]
  54. public void BookingFinishesDuringAnExistingBookingReturnsOverlappingReference()
  55. {
  56. var result = BookingHelper.OverlappingBookingsExist(new Booking
  57. {
  58. Id = 1,
  59. ArrivalDate = Before(bookingFixture.ArrivalDate, 1),
  60. DepartureDate = After(bookingFixture.ArrivalDate, 1)
  61. }, bookingRepositoryMock.Object);
  62.  
  63. Assert.AreEqual(result, bookingFixture.Reference);
  64. }
  65.  
  66. [Test]
  67. public void BookingStartsDuringAnExistingBookingReturnsOverlappingReference()
  68. {
  69. var result = BookingHelper.OverlappingBookingsExist(new Booking
  70. {
  71. Id = 1,
  72. ArrivalDate = After(bookingFixture.ArrivalDate, 1),
  73. DepartureDate = After(bookingFixture.DepartureDate, 1)
  74. }, bookingRepositoryMock.Object);
  75.  
  76. Assert.AreEqual(result, bookingFixture.Reference);
  77. }
  78.  
  79. [Test]
  80. public void BookingStartsBeforeAndFinishesAfterExistingBookingReturnsOverlappingReference()
  81. {
  82. var result = BookingHelper.OverlappingBookingsExist(new Booking
  83. {
  84. Id = 1,
  85. ArrivalDate = Before(bookingFixture.ArrivalDate, 1),
  86. DepartureDate = After(bookingFixture.DepartureDate, 1)
  87. }, bookingRepositoryMock.Object);
  88.  
  89. Assert.AreEqual(result, bookingFixture.Reference);
  90. }
  91. }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement