コード例 #1
0
        public void UnitTestTrafficProblem1_Scenario1()
        {
            //arrange
            Dictionary <Orbit, int> dict = new Dictionary <Orbit, int>();

            dict[orbit1] = 12;
            dict[orbit2] = 10;
            traffic.SetCurrentState(sunny, dict);
            TrafficResult expected = new TrafficResult(tuktuk, 110, orbit1);

            //act
            List <TrafficResult> results = traffic.GetTimeOfAllVehiclesOnAllOrbits(traffic.ListOfOrbits, traffic.ListOfVehicles.Where(v => v.Weathers.Contains(traffic.CurrentWeather)).ToList());
            TrafficResult        actual  = traffic.DeterMineWinner(results);

            //assert
            Assert.AreEqual(actual.Vehicle, expected.Vehicle, string.Format("Expected Vehicle was {0} but is {1}", expected.Vehicle.Name, actual.Vehicle.Name));
            Assert.AreEqual(actual.Orbit, expected.Orbit, string.Format("Expected Orbit was {0} but is {1}", expected.Orbit.Name, actual.Orbit.Name));
            Assert.AreEqual(actual.TimeForTravel, expected.TimeForTravel, string.Format("Expected Time travel time was {0} but is {1}", expected.TimeForTravel, actual.TimeForTravel));
        }