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 }); }
public void Initialize() { getawayDriverAnalyser = new GetawayDriverAnalyser(new DriverAnalysisCriteria { AllowedStartTime = new TimeSpan(13, 0, 0), AllowedEndTime = new TimeSpan(14, 0, 0), AllowedMaxSpeed = 80m, RatingForExceedingSpeedLimit = 1, }); }
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)); }
public void TearDown() { getawayDriverAnalyser = null; }