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)); }