public void Initialize() { analyser = new DeliveryDriverAnalyser(new AnalyserConfiguration() { StartTime = new TimeSpan(9, 0, 0), EndTime = new TimeSpan(17, 0, 0), MaxSpeed = 30m, RatingForExceedingMaxSpeed = 0, PenaltyForFaultyRecording = 0.5m }); }
// Test to get correct values for the canned data with Penalise flag true public void ShouldYieldCorrectValuesforPenalise() { var expectedResult = new HistoryAnalysis { AnalysedDuration = new TimeSpan(7, 45, 0), DriverRating = 0.3819m }; var actualResult = new DeliveryDriverAnalyser().Analyse(CannedDrivingData.History, true); Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration)); Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m)); }
public void FormulaOneExpectDefault() { var expectedResult = new HistoryAnalysis { AnalysedDuration = TimeSpan.Zero, DriverRating = 0m }; var actualResult = new DeliveryDriverAnalyser().Analyse(null); 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 DeliveryDriverAnalyser().Analyse(null, true); Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration)); Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m)); }
public void FormulaOneNoPeriodsUsingFile() { var expectedResult = new HistoryAnalysis { AnalysedDuration = new TimeSpan(0, 0, 0), DriverRating = 0 }; var actualResult = new DeliveryDriverAnalyser().Analyse( CannedDrivingData.GetPeriods("InterviewTest.DriverData.UnitTests/TestHistoryData/noperiods.json"), false); Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration)); Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m)); }
public void FormulaOnePenalizeCorrectUsingFile() { var expectedResult = new HistoryAnalysis { AnalysedDuration = new TimeSpan(7, 45, 0), DriverRating = 0.7638m }; var actualResult = new DeliveryDriverAnalyser().Analyse( CannedDrivingData.GetPeriods(@"InterviewTest.DriverData.UnitTests/TestHistoryData/canneddata.json"), true); Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration)); Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m)); }
public void DelieryRatin1CorrectUsingFile() { var expectedResult = new HistoryAnalysis { AnalysedDuration = new TimeSpan(8, 0, 0), DriverRating = 1.00m }; var actualResult = new DeliveryDriverAnalyser().Analyse( CannedDrivingData.GetPeriods(@"InterviewTest.DriverData.UnitTests/TestHistoryData/rating1.json"), false); Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration)); Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m)); }
public void Initialize() { deliveryDriverAnalyser = new DeliveryDriverAnalyser(new DriverAnalysisCriteria { AllowedStartTime = new TimeSpan(9, 0, 0), AllowedEndTime = new TimeSpan(17, 0, 0), AllowedMaxSpeed = 30m, RatingForExceedingSpeedLimit = 0, }); deliveryDriverAnalyserWithPenaltyApplicable = new DeliveryDriverAnalyser(new DriverAnalysisCriteria { AllowedStartTime = new TimeSpan(9, 0, 0), AllowedEndTime = new TimeSpan(17, 0, 0), AllowedMaxSpeed = 30m, RatingForExceedingSpeedLimit = 0, IsPenaltyApplicable = true, Penalty = 0.5m }); }
//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 DeliveryDriverAnalyser().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(8, 0, 0), DriverRating = 0m }; var data = new[] { new Period { Start = new DateTimeOffset(2016, 10, 13, 8, 30, 0, TimeSpan.Zero), End = new DateTimeOffset(2016, 10, 13, 19, 12, 0, TimeSpan.Zero), AverageSpeed = 40m } }; var actualResult = new DeliveryDriverAnalyser().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() { deliveryDriverAnalyser = null; deliveryDriverAnalyserWithPenaltyApplicable = null; }
public void Initialize() { deliveryDriverAnalyser = new DeliveryDriverAnalyser(analyserConfiguration); }
public void TestsCompletion() { deliveryDriverAnalyser = null; }