public void TestingFinderFunctionality() { var roomFinder = new RoomFinder(new SqlRoomRepository()); var rooms = roomFinder.SearchAvailableRooms(2, DateTime.Now, DateTime.Now); Assert.Equal(2, rooms.Count); Assert.Throws <InvalidOperationException>(() => roomFinder.SearchAvailableRooms(-1, DateTime.Now, DateTime.Now)); Assert.True(rooms.All(room => room.Price > 0)); Assert.Throws <InvalidOperationException>(() => roomFinder.SearchAvailableRooms(2, DateTime.Now.AddDays(-1), DateTime.Now)); Assert.Throws <InvalidOperationException>(() => roomFinder.SearchAvailableRooms(2, DateTime.Now.AddDays(-1), DateTime.Now.AddDays(-1))); Assert.Throws <InvalidOperationException>(() => roomFinder.SearchAvailableRooms(2, DateTime.Now.AddDays(5), DateTime.Now.AddDays(0))); }
public void ShouldReturnedRoomsHaveAPrice() { var roomFinder = new RoomFinder(new SqlRoomRepository()); var rooms = roomFinder.SearchAvailableRooms(2, DateTime.Now, DateTime.Now); Assert.True(rooms.All(room => room.Price > 0)); }
public void ShouldReturnedRoomsHaveAPrice() { var roomFinder = new RoomFinder(new SqlRoomRepository()); var rooms = roomFinder.SearchAvailableRooms(2, DateTime.Now, DateTime.Now); rooms.Should().OnlyContain(room => room.Price > 0); }
public void TestNumberOfRooms() { var roomFinder = new RoomFinder(new SqlRoomRepository()); var rooms = roomFinder.SearchAvailableRooms(2, DateTime.Now, DateTime.Now); Assert.Equal(2, rooms.Count); }
public void ShouldNotAllowEndDateSmallerThanStartDate() { var roomFinder = new RoomFinder(new SqlRoomRepository()); Action act = () => roomFinder.SearchAvailableRooms(2, DateTime.Now.AddDays(5), DateTime.Now.AddDays(0)); act.Should().Throw <InvalidOperationException>(); }
public void ShouldNotAllowEndDateInThePast() { var roomFinder = new RoomFinder(new SqlRoomRepository()); Action act = () => roomFinder.SearchAvailableRooms(2, DateTime.Now.AddDays(1), DateTime.Now.AddDays(-1)); act.Should().Throw <InvalidOperationException>(); }
public void ShouldNotAllowNegativeRoomSizeSearch() { var roomFinder = new RoomFinder(new SqlRoomRepository()); Action act = () => roomFinder.SearchAvailableRooms(-1, DateTime.Now, DateTime.Now); act.Should().Throw <InvalidOperationException>(); }
public void ShouldReturnCorrectNumberOfRooms() { var mockRepository = new MockRepository(MockBehavior.Strict); var roomRepositoryMock = mockRepository.Create <IRoomRepository>(); roomRepositoryMock.Setup(mock => mock.SearchForRooms(It.IsAny <int>(), It.IsAny <DateTime>(), It.IsAny <DateTime>())) .Returns(new List <Room> { new Room { Price = 1 }, new Room { Price = 1 } }); var subject = new RoomFinder(roomRepositoryMock.Object); var result = subject.SearchAvailableRooms(2, DateTime.Now, DateTime.Now); result.Should().HaveCount(2); }
public void ShouldNotAllowStartDateInThePast() { var roomFinder = new RoomFinder(new SqlRoomRepository()); Assert.Throws <InvalidOperationException>(() => roomFinder.SearchAvailableRooms(2, DateTime.Now.AddDays(-1), DateTime.Now)); }
public void ThrowOnAvailableToSmallerThanAvailableFrom() { var roomFinder = new RoomFinder(new SqlRoomRepository()); Assert.Throws <InvalidOperationException>(() => roomFinder.SearchAvailableRooms(2, DateTime.Now.AddDays(5), DateTime.Now.AddDays(0))); }
public void ThrowOnAvailableToInThePast() { var roomFinder = new RoomFinder(new SqlRoomRepository()); Assert.Throws <InvalidOperationException>(() => roomFinder.SearchAvailableRooms(2, DateTime.Now.AddDays(1), DateTime.Now.AddDays(-1))); }
public void ThrowOnInvalidNumberOfRooms() { var roomFinder = new RoomFinder(new SqlRoomRepository()); Assert.Throws <InvalidOperationException>(() => roomFinder.SearchAvailableRooms(-1, DateTime.Now, DateTime.Now)); }