コード例 #1
0
        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]);
        }
コード例 #2
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]);
        }
コード例 #3
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")));
        }
コード例 #4
0
        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());
        }