public void Check_For_Results_Test() { //Setup int MinimumInput = 1; //Action RidesInformation Fare = searchAppLibrary.GetAvailableTickets("FakeSearch"); //Assert Assert.GreaterOrEqual(Fare.Rides.Count, MinimumInput); }
public static RidesInformation GetAvailableTickets(string SearchTerm) { //Not gonna use the SearchTerm in this, as it has no fucntion. //Setup RidesInformation Fare = new RidesInformation(); //Read XML XElement SearchResult = XElement.Load("search.xml"); //Parse objects from result foreach (XElement element in SearchResult.Elements("SearchResult")) { String ID = element.Element("ID").Value; List <Connection> Connections = ParseConnections(element.Element("Connections")); Ride NewRide = new Ride( ID, Connections ); Fare.Rides.Add(NewRide); //Check for cheapest ride if (Fare.Cheapest == null || Fare.Cheapest.GetMinimumPrice() > NewRide.GetMinimumPrice()) { Fare.Cheapest = NewRide; } //Check for fastest ride if (Fare.Fastest == null || Fare.Fastest.GetRideTime() > NewRide.GetRideTime()) { Fare.Fastest = NewRide; } } return(Fare); }
static void Main(string[] args) { //Interchangable front-end RidesInformation RidesInformation = searchAppLibrary.GetAvailableTickets("FakeSearch"); //Simple presentation foreach (Ride Ride in RidesInformation.Rides) { int i = 1; Console.WriteLine("____________________________________"); Console.WriteLine(); Console.WriteLine("------------------------------------"); Console.WriteLine("Information"); Console.WriteLine("------------------------------------"); if (Ride == RidesInformation.Cheapest) { Console.WriteLine("Special information: Cheapest Fare"); } if (Ride == RidesInformation.Fastest) { Console.WriteLine("Special information: Fastest Fare"); } Console.WriteLine("ID: " + Ride.GetID()); Console.WriteLine("Amount of Train changes: " + (Ride.GetConnections().Count - 1)); Console.WriteLine("Lowest possible price: " + Ride.GetMinimumPrice() + " GBP"); Console.WriteLine("Ride total time: " + Ride.GetRideTime() + " Min"); Console.WriteLine(); Console.WriteLine("------------------------------------"); Console.WriteLine("Connections"); foreach (Connection Connection in Ride.GetConnections()) { Console.WriteLine("------------------------------------"); Console.WriteLine("Start: " + Connection.Start); Console.WriteLine("Finish: " + Connection.Finish); Console.WriteLine("Depature: " + Connection.DepartureTime.ToString()); Console.WriteLine("Arrival: " + Connection.ArrivalTime.ToString()); Console.WriteLine("Train name: " + Connection.TrainName); Console.WriteLine("Ride time: " + Connection.GetDuration() + " Min"); Console.WriteLine(); Console.WriteLine(" -------------------------------"); Console.WriteLine(" Fares"); Console.WriteLine(" -------------------------------"); foreach (Fare Fare in Connection.Fares) { Console.WriteLine(" Ticket type: " + Fare.Name); Console.WriteLine(" Ticket price: " + Fare.Price + " " + Fare.Currency); Console.WriteLine(" -------------------------------"); } if (Ride.GetConnections().Last() != Connection) { Console.WriteLine("------------------------------------"); Console.WriteLine("Wait time: " + (Ride.GetConnections()[i].DepartureTime - Connection.ArrivalTime).TotalMinutes); } i++; } Console.WriteLine("____________________________________"); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); } Console.ReadKey(); }