Пример #1
0
        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());
        }
Пример #2
0
        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);
        }