public void RegisterTrips_skips_TripEntry_if_DriverDoesNotExist() { // arrange List <Driver> drivers = new List <Driver> { new Driver() { Name = "Dan" }, new Driver() { Name = "Lauren" }, new Driver() { Name = "Kumi" } }; IStreamReader reader = Substitute.For <IStreamReader>(); reader.CreateReader(Arg.Any <string>()); reader.EndOfStream.Returns(false, true); reader.ReadLine().Returns("Trip Bob 07:15 07:45 17.3"); TripLogic tripLogic = new TripLogic(); // act List <Trip> trips = tripLogic.RegisterTrips(reader, drivers); // assert Assert.IsFalse(trips.Any()); }
public void RegisterTrips_returns_CorrectTripDataForDriver() { // arrange List <Driver> drivers = new List <Driver> { new Driver() { Name = "Dan" } }; IStreamReader reader = Substitute.For <IStreamReader>(); reader.CreateReader(Arg.Any <string>()); reader.EndOfStream.Returns(false, true); reader.ReadLine().Returns("Trip Dan 07:15 07:45 17.3"); var expectedTripData = new Trip() { Driver = drivers[0], StartTime = TimeSpan.Parse("07:15"), EndTime = TimeSpan.Parse("07:45"), MilesDriven = (decimal)17.3 }; TripLogic tripLogic = new TripLogic(); // act List <Trip> trips = tripLogic.RegisterTrips(reader, drivers); // assert Assert.AreEqual(expectedTripData.Driver.Name, trips[0].Driver.Name); Assert.AreEqual(expectedTripData.StartTime, trips[0].StartTime); Assert.AreEqual(expectedTripData.EndTime, trips[0].EndTime); Assert.AreEqual(expectedTripData.MilesDriven, trips[0].MilesDriven); }