Beispiel #1
0
        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"));
        }