Beispiel #1
0
        public void Check_For_Results_Test()
        {
            //Setup
            int MinimumInput = 1;

            //Action
            RidesInformation Fare = searchAppLibrary.GetAvailableTickets("FakeSearch");

            //Assert
            Assert.GreaterOrEqual(Fare.Rides.Count, MinimumInput);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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();
        }