public void CalculateResults_returns_CorrectResultForDriver() { // arrange List <Driver> drivers = new List <Driver>() { new Driver() { Name = "Dan" } }; List <Trip> trips = new List <Trip>() { new Trip() { Driver = new Driver() { Name = "Dan" }, StartTime = TimeSpan.Parse("07:15"), EndTime = TimeSpan.Parse("07:45"), MilesDriven = (decimal)17.3 }, new Trip() { Driver = new Driver() { Name = "Dan" }, StartTime = TimeSpan.Parse("06:12"), EndTime = TimeSpan.Parse("06:32"), MilesDriven = (decimal)21.8 } }; string expectedResult = "Dan: 39 miles @ 47 mph"; TripLogic tripLogic = new TripLogic(); // act List <string> result = tripLogic.CalculateResults(drivers, trips); // assert Assert.AreEqual(expectedResult, result[0]); }
public void CalculateResults_GreaterThanOneHundredTotalMiles_returns_ZeroMilesDriven() { // arrange List <Driver> drivers = new List <Driver>() { new Driver() { Name = "Dan" } }; List <Trip> trips = new List <Trip>() { new Trip() { Driver = new Driver() { Name = "Dan" }, StartTime = TimeSpan.Parse("07:15"), EndTime = TimeSpan.Parse("07:45"), MilesDriven = 50 }, new Trip() { Driver = new Driver() { Name = "Dan" }, StartTime = TimeSpan.Parse("06:12"), EndTime = TimeSpan.Parse("06:32"), MilesDriven = 34 } }; string expectedResult = "Dan: 0 miles"; TripLogic tripLogic = new TripLogic(); // act List <string> result = tripLogic.CalculateResults(drivers, trips); // assert Assert.AreEqual(expectedResult, result[0]); }
public void CalculateResults_returns_ResultsSortedByMilesDrivenDesc() { // arrange List <Driver> drivers = new List <Driver>() { new Driver() { Name = "Dan" }, new Driver() { Name = "Lauren" }, new Driver() { Name = "Kumi" } }; List <Trip> trips = new List <Trip>() { new Trip() { Driver = new Driver() { Name = "Kumi" }, StartTime = TimeSpan.Parse("07:15"), EndTime = TimeSpan.Parse("07:45"), MilesDriven = (decimal)17.3 }, new Trip() { Driver = new Driver() { Name = "Dan" }, StartTime = TimeSpan.Parse("06:12"), EndTime = TimeSpan.Parse("06:32"), MilesDriven = (decimal)21.8 }, new Trip() { Driver = new Driver() { Name = "Lauren" }, StartTime = TimeSpan.Parse("12:01"), EndTime = TimeSpan.Parse("13:16"), MilesDriven = (decimal)42.0 } }; TripLogic tripLogic = new TripLogic(); // act List <string> result = tripLogic.CalculateResults(drivers, trips); // assert Assert.AreEqual(0, result.FindIndex(x => x.Contains("Lauren"))); Assert.AreEqual(1, result.FindIndex(x => x.Contains("Dan"))); Assert.AreEqual(2, result.FindIndex(x => x.Contains("Kumi"))); }
public void CalculateResults_returns_NonEmptyResults() { // arrange List <Driver> drivers = new List <Driver>() { new Driver() { Name = "Dan" }, new Driver() { Name = "Lauren" }, new Driver() { Name = "Kumi" } }; List <Trip> trips = new List <Trip>() { new Trip() { Driver = new Driver() { Name = "Dan" }, StartTime = TimeSpan.Parse("07:15"), EndTime = TimeSpan.Parse("07:45"), MilesDriven = (decimal)17.3 }, new Trip() { Driver = new Driver() { Name = "Dan" }, StartTime = TimeSpan.Parse("06:12"), EndTime = TimeSpan.Parse("06:32"), MilesDriven = (decimal)21.8 }, new Trip() { Driver = new Driver() { Name = "Lauren" }, StartTime = TimeSpan.Parse("12:01"), EndTime = TimeSpan.Parse("13:16"), MilesDriven = (decimal)42.0 } }; TripLogic tripLogic = new TripLogic(); // act List <string> result = tripLogic.CalculateResults(drivers, trips); // assert Assert.IsTrue(result.Any()); }