예제 #1
0
        public void UpdateGrade(CompleteGrade grade)
        {
            InitializeGradeIfEmpty(grade);

            if (_currentVersion >= _firstVersion)
            {
                StepStarted?.Invoke(this, $"RUNNING {_completudeTests.GradeName} TESTS");
                grade.TestResults[_completudeTests.GradeName] = _testRunner.RunTests(_completudeTests);

                StepStarted?.Invoke(this, $"RUNNING {_currentVersionTests.GradeName} TESTS");
                grade.TestResults[_currentVersionTests.GradeName] = _testRunner.RunTests(_currentVersionTests);
            }

            StepStarted?.Invoke(this, $"RUNNING TEST COVERAGE");
            grade.TestCoverage = _coverageRunner.Run(_completudeTests);
        }
예제 #2
0
        public void InitializeGradeIfEmpty(CompleteGrade grade)
        {
            if (grade.QualityGrades == null)
            {
                grade.QualityGrades = _defaultQualityCriteria.ToDictionary(
                    criteria => criteria,
                    criteria => (double)1);
            }

            if (grade.TestResults == null)
            {
                grade.TestResults = new Dictionary <string, TestResult>();
            }

            if (!grade.TestResults.ContainsKey(_completudeTests.GradeName))
            {
                grade.TestResults[_completudeTests.GradeName] = TestResult.Maximum;
            }
        }
예제 #3
0
 private static void WriteGrade(CompleteGrade grade)
 {
     File.WriteAllText("grade.json", JsonConvert.SerializeObject(grade, Formatting.Indented));
 }