public void TwoConsecutiveBookingsNotOverlapped() { var r = new Room { Id = 100, MaxSeat = 10, Name = "Room 100" }; var b1 = new Booking { Id = 55, From = DateTime.Parse("9:00"), To = DateTime.Parse("10:00"), Attendees = 10, Name = "Weekly Meetup", By = "Someone" }; var b2 = new Booking { Id = 56, From = DateTime.Parse("10:00"), To = DateTime.Parse("11:00"), Attendees = 10, Name = "Weekly Meetup", By = "Another one" }; r.AddBooking(b1); r.AddBooking(b2); Assert.Equal(2, r.Bookings.Count); }
public void Setup() { room = new Room(10, "SingleRoom") { }; room.AddBooking(new DateTime(2020, 04, 01), new DateTime(2020, 04, 05)); room.AddBooking(new DateTime(2020, 04, 07), new DateTime(2020, 04, 10)); }
public void Setup() { room = new Room(1, 10, "SingleBed"); room.AddBooking( new DateTime(2020, 04, 15), new DateTime(2020, 04, 20) ); room.AddBooking( new DateTime(2020, 04, 23), new DateTime(2020, 04, 27) ); }
public void BookingOnDifferentDateIsNotAllowed() { var r = new Room { Id = 100, MaxSeat = 10, Name = "Room 100" }; var dt1 = DateTime.Now; var dt2 = dt1.AddDays(1); var b = new Booking { Id = 55, From = dt1, To = dt2, Attendees = 10, Name = "Weekly Meetup", By = "Someone" }; var ex = Assert.Throws <Exception>(() => { r.AddBooking(b); }); Assert.Contains("Booking failed", ex.Message); Assert.Equal(0, r.Bookings.Count); }
public void BookClosedMeeting() { if (this.CurState == State.Closed) { Room bestRoom = this.Slots[0].Location.GetBestFittingRoomForCapacity(this.Slots[0].Date, (uint)this.Users.Count); bestRoom.AddBooking(this.Slots[0].Date); } }
public void BookingCannotBeOverlapped() { var r = new Room { Id = 100, MaxSeat = 10, Name = "Room 100" }; var b1 = new Booking { Id = 55, From = DateTime.Parse("9:00"), To = DateTime.Parse("12:00"), Attendees = 10, Name = "Weekly Meetup", By = "Someone" }; var b2 = new Booking { Id = 56, From = DateTime.Parse("11:00"), To = DateTime.Parse("15:00"), Attendees = 10, Name = "Weekly Meetup", By = "Another one" }; r.AddBooking(b1); var ex = Assert.Throws <Exception>(() => { r.AddBooking(b2); }); Assert.Contains("Booking failed", ex.Message); Assert.Equal(1, r.Bookings.Count); }
public void Close(Slot chosenSlot, uint numUsers) { this.CurState = State.Closed; Room bestRoom = chosenSlot.Location.GetBestFittingRoomForCapacity(chosenSlot.Date, numUsers); bestRoom.AddBooking(chosenSlot.Date); //FIXME Use this when we are sending the Vector clocks!!! Users.Sort(); this.UsersNotJoined = Users.GetRange((int)numUsers, Users.Count - (int)numUsers); Users = Users.GetRange(0, (int)numUsers); this.Slots = new List <Slot> { new ClosedSlot(chosenSlot, bestRoom, Users) }; }
public void BasicUsage() { var r = new Room { Id = 100, MaxSeat = 10, Name = "Room 100" }; var b = new Booking { Id = 55, From = DateTime.Now, To = DateTime.Now.AddHours(2.5), Attendees = 10, Name = "Weekly Meetup", By = "Someone" }; var success = r.AddBooking(b); Assert.True(success); Assert.Equal(1, r.Bookings.Count); Assert.Same(r, b.Room); }