public void TestGetTrainTicketsCountReturnsCorrectValues() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddTrainTicket(from: "Sofia", to: "Pleven", dateTime: new DateTime(2015, 1, 26, 8, 56, 00), price: 14.00M, studentPrice: 8.30M); Assert.AreEqual(2, catalog.GetTicketsCount(TicketType.Train)); }
public void TestAddTrainTicketDuplicates() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 00), price: 26.00M, studentPrice: 16.30M); string cmdResult = catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 00), price: 28.00M, studentPrice: 17.70M); Assert.AreEqual("Duplicate ticket", cmdResult); Assert.AreEqual(1, catalog.GetTicketsCount(TicketType.Train)); }
public void TestFindTicketsReturnsNotFound() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 24.00M, airline: "Bulgaria Air", flightNumber: "SV453"); catalog.AddBusTicket(from: "Varna", to: "Sofia", dateTime: new DateTime(2015, 1, 30, 11, 35, 00), price: 25.00M, travelCompany: "Biomet"); catalog.AddTrainTicket(from: "SOFIA", to: "VARNA", dateTime: new DateTime(2015, 1, 23, 12, 55, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddAirTicket(from: "sofia", to: "varna", dateTime: new DateTime(2015, 1, 24, 7, 40, 00), price: 24.00M, airline: "Bulgaria Air", flightNumber: "SV7023"); catalog.AddBusTicket(from: "Varna2", to: "Sofia2", dateTime: new DateTime(2015, 1, 25, 11, 35, 00), price: 25.00M, travelCompany: "Biomet"); string cmdResult = catalog.FindTickets(from: "Sofia", to: "Istanbul"); Assert.AreEqual("Not found", cmdResult); }
public void TestFindTicketsInIntervalReturnsNotFound() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 24, 7, 40, 00), price: 24.00M, airline: "Bulgaria Air", flightNumber: "SV7023"); catalog.AddAirTicket(from: "Sofia", to: "Plovdiv", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 24.00M, airline: "Bulgaria Air", flightNumber: "SV453"); catalog.AddBusTicket(from: "Varna", to: "Pleven", dateTime: new DateTime(2015, 1, 30, 11, 35, 00), price: 25.00M, travelCompany: "Biomet"); catalog.AddTrainTicket(from: "Sofia", to: "Veliko Tarnovo", dateTime: new DateTime(2015, 1, 23, 12, 55, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddBusTicket(from: "Varna", to: "Sofia", dateTime: new DateTime(2015, 1, 25, 11, 35, 00), price: 25.00M, travelCompany: "Biomet"); string cmdResult = catalog.FindTicketsInInterval( startDateTime: new DateTime(2015, 1, 29, 7, 40, 01), endDateTime: new DateTime(2015, 1, 30, 11, 34, 59)); Assert.AreEqual("Not found", cmdResult); }
public void TestFindTicketsCheckDeletedTickets() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 211.00M, airline: "New Air", flightNumber: "SV1234"); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 28, 7, 45, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 25.00M, travelCompany: "Biomet"); string cmdResult = catalog.FindTicketsInInterval( startDateTime: new DateTime(1980, 1, 1, 0, 0, 0), endDateTime: new DateTime(2050, 2, 1, 0, 0, 0)); string expectedCmdResult = "[28.01.2015 07:45; train; 26.00] " + "[29.01.2015 07:40; air; 211.00] " + "[29.01.2015 07:40; bus; 25.00]"; Assert.AreEqual(expectedCmdResult, cmdResult); catalog.DeleteAirTicket(flightNumber: "SV1234"); catalog.DeleteTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 28, 7, 45, 00)); catalog.DeleteBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), travelCompany: "Biomet"); Assert.AreEqual(0, catalog.GetTicketsCount(TicketType.Air)); Assert.AreEqual(0, catalog.GetTicketsCount(TicketType.Train)); Assert.AreEqual(0, catalog.GetTicketsCount(TicketType.Bus)); string cmdResultFind = catalog.FindTicketsInInterval( startDateTime: new DateTime(1980, 1, 1, 0, 0, 0), endDateTime: new DateTime(2050, 2, 1, 0, 0, 0)); Assert.AreEqual("Not found", cmdResultFind); }
public void TestFindTicketsCheckCorrectSortingOrder() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 224.00M, airline: "Bulgaria Air", flightNumber: "SV453"); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 224.00M, airline: "Bulgaria Air", flightNumber: "SV453-2"); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 211.00M, airline: "New Air", flightNumber: "SV1234"); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 28, 7, 40, 00), price: 224.00M, airline: "Air BG", flightNumber: "S9473"); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 1224.00M, airline: "Air Travel Corp.", flightNumber: "V245X"); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 26, 7, 40, 00), price: 24.00M, studentPrice: 16.30M); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 28, 7, 45, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 24, 7, 40, 00), price: 426.55M, studentPrice: 16.30M); catalog.AddBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 25.00M, travelCompany: "Biomet"); catalog.AddBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 25.00M, travelCompany: "Biomet2"); catalog.AddBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 28.00M, travelCompany: "Etap"); catalog.AddBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 27, 7, 40, 00), price: 25.00M, travelCompany: "New Bus Corp."); catalog.AddBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 5.72M, travelCompany: "Sofia Bus Ltd."); catalog.AddBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 1235.72M, travelCompany: "Varna Bus Travel Ltd."); string cmdResult = catalog.FindTicketsInInterval( startDateTime: new DateTime(1980, 1, 1, 0, 0, 0), endDateTime: new DateTime(2050, 2, 1, 0, 0, 0)); string expectedCmdResult = "[24.01.2015 07:40; train; 426.55] " + "[26.01.2015 07:40; train; 24.00] " + "[27.01.2015 07:40; bus; 25.00] " + "[28.01.2015 07:40; air; 224.00] " + "[28.01.2015 07:45; train; 26.00] " + "[29.01.2015 07:40; air; 211.00] " + "[29.01.2015 07:40; air; 224.00] " + "[29.01.2015 07:40; air; 224.00] " + "[29.01.2015 07:40; air; 1224.00] " + "[29.01.2015 07:40; bus; 5.72] " + "[29.01.2015 07:40; bus; 25.00] " + "[29.01.2015 07:40; bus; 25.00] " + "[29.01.2015 07:40; bus; 28.00] " + "[29.01.2015 07:40; bus; 1235.72] " + "[29.01.2015 07:40; train; 26.00]"; Assert.AreEqual(expectedCmdResult, cmdResult); }
public void TestFindTicketsInIntervalReturnsTickets() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 24, 7, 40, 00), price: 24.00M, airline: "Bulgaria Air", flightNumber: "SV7023"); catalog.AddAirTicket(from: "Sofia", to: "Plovdiv", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 24.00M, airline: "Bulgaria Air", flightNumber: "SV453"); catalog.AddBusTicket(from: "Varna", to: "Pleven", dateTime: new DateTime(2015, 1, 30, 11, 35, 00), price: 25.00M, travelCompany: "Biomet"); catalog.AddTrainTicket(from: "Sofia", to: "Veliko Tarnovo", dateTime: new DateTime(2015, 1, 23, 12, 55, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddBusTicket(from: "Varna", to: "Sofia", dateTime: new DateTime(2015, 1, 25, 11, 35, 00), price: 25.00M, travelCompany: "Biomet"); string cmdResult = catalog.FindTicketsInInterval( startDateTime: new DateTime(2015, 1, 29, 7, 40, 00), endDateTime: new DateTime(2015, 1, 30, 12, 55, 00)); string expectedCmdResult = "[29.01.2015 07:40; air; 24.00] [30.01.2015 11:35; bus; 25.00] [30.01.2015 12:55; train; 26.00]"; Assert.AreEqual(expectedCmdResult, cmdResult); }
public void TestDeleteTrainTicketReturnsTickedDeleted() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 00), price: 26.00M, studentPrice: 16.30M); string cmdResult = catalog.DeleteTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 00)); Assert.AreEqual("Ticket deleted", cmdResult); Assert.AreEqual(0, catalog.GetTicketsCount(TicketType.Train)); }
public void TryAddAnTrainTicketWithNegativeStudentPriceShouldThrowException() { var catalog = new TicketCatalog(); var origin = "Sofia"; var destination = "Berlin"; string travelCompany = "BioMed"; var departureDate = new DateTime(2015, 01, 20, 10, 10, 10); decimal price = 100m; decimal studentPrice = -80m; var busTicket = catalog.AddTrainTicket(origin, destination, departureDate, price, studentPrice); }
public void ShouldAddAnTrainTicket() { var catalog = new TicketCatalog(); var origin = "Sofia"; var destination = "Berlin"; string travelCompany = "BioMed"; var departureDate = new DateTime(2015, 01, 20, 10, 10, 10); decimal price = 100m; decimal studentPrice = 80m; var busTicket = catalog.AddTrainTicket(origin, destination, departureDate, price, studentPrice); Assert.AreEqual(1, catalog.GetTicketsCount(TicketType.Train)); string expectedReport = "[20.01.2015 10:10; train; 100.00]"; Assert.AreEqual(expectedReport, catalog.FindTickets(origin, destination)); }
public void TestGetTicketsCountForDeletedTicketsReturnsZero() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddAirTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 211.00M, airline: "New Air", flightNumber: "SV1234"); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 28, 7, 45, 00), price: 26.00M, studentPrice: 16.30M); catalog.AddBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), price: 25.00M, travelCompany: "Biomet"); Assert.AreEqual(1, catalog.GetTicketsCount(TicketType.Air)); Assert.AreEqual(1, catalog.GetTicketsCount(TicketType.Train)); Assert.AreEqual(1, catalog.GetTicketsCount(TicketType.Bus)); catalog.DeleteAirTicket(flightNumber: "SV1234"); catalog.DeleteTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 28, 7, 45, 00)); catalog.DeleteBusTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 29, 7, 40, 00), travelCompany: "Biomet"); Assert.AreEqual(0, catalog.GetTicketsCount(TicketType.Air)); Assert.AreEqual(0, catalog.GetTicketsCount(TicketType.Train)); Assert.AreEqual(0, catalog.GetTicketsCount(TicketType.Bus)); }
public void TestDeleteTrainTicketReturnsTickedDoesNotExist() { ITicketCatalog catalog = new TicketCatalog(); catalog.AddTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 00), price: 22.00M, studentPrice: 11.00M); string cmdResult = catalog.DeleteTrainTicket(from: "Sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 33)); Assert.AreEqual("Ticket does not exist", cmdResult); cmdResult = catalog.DeleteTrainTicket(from: "Sofia", to: "VARNA", dateTime: new DateTime(2015, 1, 30, 12, 55, 00)); Assert.AreEqual("Ticket does not exist", cmdResult); cmdResult = catalog.DeleteTrainTicket(from: "sofia", to: "Varna", dateTime: new DateTime(2015, 1, 30, 12, 55, 00)); Assert.AreEqual("Ticket does not exist", cmdResult); Assert.AreEqual(1, catalog.GetTicketsCount(TicketType.Train)); }
public void DeleteAnTrainTicketThatExistShouldReturnMessage() { var catalog = new TicketCatalog(); var origin = "Sofia"; var destination = "Berlin"; string travelCompany = "BioMed"; var departureDate = new DateTime(2015, 01, 20, 10, 10, 10); decimal price = 100m; decimal studentPrice = 80m; var actualMessage = catalog.AddTrainTicket(origin, destination, departureDate, price, studentPrice); actualMessage = catalog.DeleteTrainTicket(origin, destination, departureDate); string expectedMessage = "Ticket deleted"; Assert.AreEqual(expectedMessage, actualMessage); }
public void FindAllNonExistingTicketsShouldReturnMessage() { var catalog = new TicketCatalog(); var origin = "Sofia"; var destination = "Berlin"; string travelCompany = "BioMed"; var departureDate = new DateTime(2015, 01, 20, 10, 10, 10); decimal price = 100m; decimal studentPrice = 80m; var actualMessage = catalog.AddTrainTicket(origin, destination, departureDate, price, studentPrice); actualMessage = catalog.FindTickets("Barcelona", "Sofia"); string expectedMessage = "Not found"; Assert.AreEqual(expectedMessage, actualMessage); }
public void FindAllNonExisitngTicketsInIntervalShouldReturnMessage() { var catalog = new TicketCatalog(); var destination = "Berlin"; string travelCompany = "BioMed"; var departureDateOne = new DateTime(2015, 01, 20, 10, 10, 10); var departureDateTwo = new DateTime(2015, 01, 20, 10, 20, 10); decimal price = 100m; decimal studentPrice = 80m; catalog.AddTrainTicket("Sofia", destination, departureDateOne, price, studentPrice); catalog.AddTrainTicket("Barcelona", destination, departureDateTwo, price, studentPrice); var actualMessage = catalog.FindTicketsInInterval(new DateTime(2011, 01, 01), new DateTime(2012, 01, 01)); var expectedMessage = "Not found"; Assert.AreEqual(expectedMessage, actualMessage); }