示例#1
0
 public void Initialize()
 {
     analyser = new GetawayDriverAnalyser(new AnalyserConfiguration()
     {
         StartTime = new TimeSpan(13, 0, 0), EndTime = new TimeSpan(14, 0, 0), MaxSpeed = 80m, RatingForExceedingMaxSpeed = 1, PenaltyForFaultyRecording = 0.5m
     });
 }
示例#2
0
 public void Initialize()
 {
     getawayDriverAnalyser = new GetawayDriverAnalyser(new DriverAnalysisCriteria
     {
         AllowedStartTime             = new TimeSpan(13, 0, 0),
         AllowedEndTime               = new TimeSpan(14, 0, 0),
         AllowedMaxSpeed              = 80m,
         RatingForExceedingSpeedLimit = 1,
     });
 }
示例#3
0
        public void ShouldYieldCorrectValues()
        {
            var expectedResult = new HistoryAnalysis
            {
                AnalysedDuration = TimeSpan.FromHours(1),
                DriverRating     = 0.1813m
            };

            var actualResult = new GetawayDriverAnalyser().Analyse(CannedDrivingData.History);

            Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration));
            Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m));
        }
        // Test to get correct values for the canned data with Penalise flag true
        public void ShouldYieldCorrectValuesforPenalise()
        {
            var expectedResult = new HistoryAnalysis
            {
                AnalysedDuration = new TimeSpan(1, 00, 0),
                DriverRating     = 0.0906m
            };

            var actualResult = new GetawayDriverAnalyser().Analyse(CannedDrivingData.History, true);

            Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration));
            Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m));
        }
        // Test to get correct values for the canned data with Penalise flag true
        public void ShouldYieldCorrectValuesForNullDataWithPenalise()
        {
            var expectedResult = new HistoryAnalysis
            {
                AnalysedDuration = new TimeSpan(0, 0, 0),
                DriverRating     = 0m
            };

            var actualResult = new GetawayDriverAnalyser().Analyse(null, true);

            Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration));
            Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m));
        }
        //Test for the zero period and zero speed
        public void ShouldYieldCorrectValuesForZeroPeriodSpeed()
        {
            var expectedResult = new HistoryAnalysis
            {
                AnalysedDuration = new TimeSpan(0, 0, 0),
                DriverRating     = 0m
            };

            var data = new[]
            {
                new Period
                {
                    Start        = new DateTimeOffset(2016, 10, 13, 0, 0, 0, TimeSpan.Zero),
                    End          = new DateTimeOffset(2016, 10, 13, 0, 0, 0, TimeSpan.Zero),
                    AverageSpeed = 0m
                }
            };

            var actualResult = new GetawayDriverAnalyser().Analyse(data, false);

            Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration));
            Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m));
        }
        //Test for the data overlap before start time and after end time & speed more than limit with Penalise flag true
        public void ShouldYieldCorrectValuesForOverLaplingStartEndPeriodSpeedAboveLimitforPenalise()
        {
            var expectedResult = new HistoryAnalysis
            {
                AnalysedDuration = new TimeSpan(1, 0, 0),
                DriverRating     = 0.5000m
            };

            var data = new[]
            {
                new Period
                {
                    Start        = new DateTimeOffset(2016, 10, 13, 12, 30, 0, TimeSpan.Zero),
                    End          = new DateTimeOffset(2016, 10, 13, 14, 30, 0, TimeSpan.Zero),
                    AverageSpeed = 100m
                }
            };

            var actualResult = new GetawayDriverAnalyser().Analyse(data, true);

            Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration));
            Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m));
        }
示例#8
0
 public void TearDown()
 {
     getawayDriverAnalyser = null;
 }