/// <summary> /// Sets up a sample ticketed event and prints it to the console. /// </summary> public static void TestSetupTicketService() { Console.WriteLine("Creating a ticketed event"); ticketedEvent = new TicketedEvent("Amazing-Concert-@-The-Showbox", new DateTime(2019, 9, 5, 4, 0, 0), 10, 15); Console.WriteLine('\n' + ticketedEvent.ToString() + '\n'); Assert.AreEqual(ticketedEvent.NumberOfAvailableSeats, 150); Assert.AreEqual(ticketedEvent.NumberOfSeats, 150); Assert.AreEqual(ticketedEvent.NumberOfRows, 10); Assert.AreEqual(ticketedEvent.NumberOfColumns, 15); Assert.AreEqual(ticketedEvent.Name, "Amazing-Concert-@-The-Showbox"); Assert.AreEqual(ticketedEvent.Time, new DateTime(2019, 9, 5, 4, 0, 0)); Assert.AreEqual(ticketedEvent.Seats.Count, 150); Assert.IsNotNull(ticketedEvent.SeatHolds); Assert.IsNotNull(ticketedEvent.Reservations); Assert.AreEqual(ticketedEvent.SeatHoldsCreated, 0); Console.WriteLine("Ticketed Event successfully created."); Console.WriteLine("Binding Ticketed event to Controller"); DataController.Instance.LoadTicketedEvent(ticketedEvent); Assert.IsTrue(DataController.Instance.Initialized()); Console.WriteLine("Ticketed Event bound to data controller"); Console.WriteLine("Creating Ticket Service."); ticketService = new MyTicketService(); Console.WriteLine("Binding ticket service to ticketed event"); ticketService.BindTicketServiceToEvent(ticketedEvent.Name); Console.WriteLine("Test no rebind of ticket service."); try { ticketService.BindTicketServiceToEvent("random-other-event"); Assert.Fail("Ticket service was rebound, should not happen"); } catch (InvalidOperationException e) { Assert.IsTrue(e.Message.Contains("The ticket service is already bound to an event")); } Console.WriteLine("Ticket Service Successfully setup."); }
/// <summary> /// Runs unit tests /// </summary> public static void RunTests( ) { Console.WriteLine("===================== RUNNING UNIT TESTS ============================="); ticketService = null; DataController.Instance.LoadTicketedEvent(null); ticketedEvent = null; TestSetupTicketService(); TestNumSeatsAvailable(); TestFindAndHoldSeats(); TestReserveSeats(); ticketService = null; DataController.Instance.LoadTicketedEvent(null); ticketedEvent = null; Console.WriteLine("===================== UNIT TESTS PASSED! ============================="); Console.WriteLine("Running tests resets the ticket service. Use ts create to create another ticket service"); }