public void FormulaOneExpectAnalyzerHistoryParseException() { Assert.Throws <AnalyzerHistoryParseException>(() => { new DeliveryDriverAnalyser().Analyse(CannedDrivingData.GetPeriods("dummy.json")); }); }
public void FormulaOneExpectExceptionInOverlappedPeriods() { Assert.Throws <AnalyzerValidationException>(() => { new DeliveryDriverAnalyser().Analyse(CannedDrivingData.GetPeriods("InterviewTest.DriverData.UnitTests/TestHistoryData/overlappedperiods.json"), true); }); }
public void Execute() { var analysis = _analyser.Analyse(string.IsNullOrEmpty(DataSourcePath) ? CannedDrivingData.History : CannedDrivingData.GetPeriods(DataSourcePath), BypassPenlty); Console.Out.WriteLine($"Analysed period: {analysis.AnalysedDuration:g}"); Console.Out.WriteLine($"Driver rating: {analysis.DriverRating:P}"); }
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 Execute() { if (string.IsNullOrEmpty(_drivingDataFilePath) || !File.Exists(_drivingDataFilePath)) { throw new FileNotFoundException("Filepath is Empth or does not exist"); } //var analysis = _analyser.Analyse(CannedDrivingData.History, _penalise); var analysis = _analyser.Analyse(CannedDrivingData.GetDrivingData(_drivingDataFilePath), _penalise); Console.Out.WriteLine($"Analysed period: {analysis.AnalysedDuration:g}"); Console.Out.WriteLine($"Driver rating: {analysis.DriverRating:P}"); Console.Out.WriteLine($"Driver penalise: {_penalise}"); Console.Out.WriteLine($"UnDocumented Period: {analysis.UnDocumentedPeriod}"); }
public void ShouldYieldCorrectValues_WhenHistoryLoadedFromDataFile() { // Arrange var expectedResult = new HistoryAnalysis { AnalysedDuration = new TimeSpan(7, 45, 0), DriverRating = 0.7638m }; // Act var actualResult = deliveryDriverAnalyser.Analyse(CannedDrivingData.GetHistoryFromFile()); // Assert Assert.That(actualResult.AnalysedDuration, Is.EqualTo(expectedResult.AnalysedDuration)); Assert.That(actualResult.DriverRating, Is.EqualTo(expectedResult.DriverRating).Within(0.001m)); }