Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Moq;
- using NUnit.Framework;
- using System;
- using System.Collections.Generic;
- using Tasks.Lab_3;
- namespace Lab_NUnit_Tests.Lab_3
- {
- [TestFixture]
- public class BookingHelperTests
- {
- private DateTime Before(DateTime dateTime, int days = 1) { return dateTime.AddDays(-days); }
- private DateTime After(DateTime dateTime, int days = 1) { return dateTime.AddDays(days); }
- private Mock<IBookingRepository> bookingRepositoryMock;
- private Booking bookingFixture = new Booking
- {
- ArrivalDate = new DateTime(2019, 11, 29, 11, 05, 0),
- DepartureDate = new DateTime(2019, 12, 23, 11, 30, 0),
- Id = 1,
- Reference = "test",
- Status = "Pending",
- };
- [OneTimeSetUp]
- public void StorageMockSetupUp()
- {
- bookingRepositoryMock = new Mock<IBookingRepository>();
- bookingRepositoryMock.Setup(repository => repository.GetActiveBookings(1)).Returns(new List<Booking> { bookingFixture });
- }
- [TearDown]
- public void StorageMockTearDown()
- {
- bookingRepositoryMock.Invocations.Clear();
- }
- [Test]
- public void BookingStartsAndFinishesBeforeAnExistingBookingReturnsEmptyString()
- {
- var result = BookingHelper.OverlappingBookingsExist(new Booking
- {
- Id = 1,
- ArrivalDate = Before(bookingFixture.ArrivalDate, 2),
- DepartureDate = Before(bookingFixture.ArrivalDate)
- }, bookingRepositoryMock.Object);
- Assert.AreEqual(result, string.Empty);
- }
- [Test]
- public void BookingFinishesDuringAnExistingBookingReturnsOverlappingReference()
- {
- var result = BookingHelper.OverlappingBookingsExist(new Booking
- {
- Id = 1,
- ArrivalDate = Before(bookingFixture.ArrivalDate, 1),
- DepartureDate = After(bookingFixture.ArrivalDate, 1)
- }, bookingRepositoryMock.Object);
- Assert.AreEqual(result, bookingFixture.Reference);
- }
- [Test]
- public void BookingStartsDuringAnExistingBookingReturnsOverlappingReference()
- {
- var result = BookingHelper.OverlappingBookingsExist(new Booking
- {
- Id = 1,
- ArrivalDate = After(bookingFixture.ArrivalDate, 1),
- DepartureDate = After(bookingFixture.DepartureDate, 1)
- }, bookingRepositoryMock.Object);
- Assert.AreEqual(result, bookingFixture.Reference);
- }
- [Test]
- public void BookingStartsBeforeAndFinishesAfterExistingBookingReturnsOverlappingReference()
- {
- var result = BookingHelper.OverlappingBookingsExist(new Booking
- {
- Id = 1,
- ArrivalDate = Before(bookingFixture.ArrivalDate, 1),
- DepartureDate = After(bookingFixture.DepartureDate, 1)
- }, bookingRepositoryMock.Object);
- Assert.AreEqual(result, bookingFixture.Reference);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement