public void IsFree_ValidDateAndDuration_Returns_True() { // Arrange var bookings = new List <Booking>() { new Booking { Id = 1, HotelId = 1, Start = DateTime.UtcNow.AddDays(-2), End = DateTime.Now.AddDays(2) } }; var mockRepository = new Mock <IRepository>(); mockRepository.Setup(repo => repo.GetAll <Booking>()) .Returns(() => bookings); var bookingService = new BL.Services.BookingService(mockRepository.Object); // Act var result = bookingService.IsFree(new BookingContract { HotelId = 1, Start = DateTime.UtcNow.AddDays(3), Duration = 1 }); // Assert Assert.IsTrue(result); }
public void IsFree_ZeroDuration_Throws_ArgumentException() { // Arrange var mockRepository = new Mock <IRepository>(); mockRepository.Setup(repo => repo.GetAll <Booking>()) .Returns(() => new List <Booking>()); var bookingService = new BL.Services.BookingService(mockRepository.Object); // Act and Assert Assert.ThrowsException <ArgumentException>(() => bookingService.IsFree(new BookingContract { HotelId = 1, Start = DateTime.UtcNow.AddDays(3), Duration = 0 })); }