public AnalysisInfo AnalyseDataset(string filename) { // Serialise JSON file to objects var projects = _loader.LoadFromFile(filename); // Call calculator classes to get metrics var noofsuccessdeployments = _noofsuccessdeploymentscalc.Calculate(projects.projects); var successbreakdown = _successDeploymentBreakdownCalc.Calculate(projects.projects); var mostpopularliveday = _mostpopulardayforlivecalc.Calculate(projects.projects); var inttoliveaverage = _integrationtolivecalc.Calculate(projects.projects); var pipelinebreakdown = _pipelinebreakdowncalc.Calculate(projects.projects); // Compose results into Analysis DTO to be returned var results = new AnalysisInfo() { TotalNoOfSuccessfulDeployments = noofsuccessdeployments, SuccessfulDeploymentBreakdown = successbreakdown, MostPopularLiveDeploymentWeekday = mostpopularliveday, IntegrationToLiveBreakdowns = inttoliveaverage, PipelineBreakdowns = pipelinebreakdown }; return(results); }
public void Calculate_Returns_Correct_Project_Group() { // Arrange Datasetup.AddProjectWithSingleDeployment( _projects, null, "testgroup", null, null, true, null, null ); // Act var result = _calculator.Calculate(_projects); // Assert Assert.AreEqual(1, result.Count); Assert.IsTrue(result.All(r => r.ProjectGroup == "testgroup")); }