Пример #1
0
        private static void RegenerateTestClass(Exercise exercise, Options options, CanonicalDataParser canonicalDataParser)
        {
            if (SkipGenerateTestClass(exercise, options))
            {
                return;
            }

            switch (exercise)
            {
            case GeneratorExercise generatorExercise:
                var canonicalData = canonicalDataParser.Parse(exercise.Name);
                generatorExercise.Regenerate(canonicalData);

                Log.Information("{Exercise}: tests generated", exercise.Name);
                break;

            case UnimplementedExercise _:
                Log.Error("{Exercise}: missing test generator", exercise.Name);
                break;

            case CustomExercise _:
                Log.Information("{Exercise}: has customized tests", exercise.Name);
                break;

            case MissingDataExercise _:
                Log.Warning("{Exercise}: missing canonical data", exercise.Name);
                break;
            }
        }
Пример #2
0
        private static void RegenerateTestClasses(Options options, string[] args)
        {
            options.Setup(args);

            var canonicalDataFile = new CanonicalDataFile(options);

            canonicalDataFile.DownloadData();

            if (options.ShouldGenerate)
            {
                Log.Information("Re-generating test classes...");
            }

            var canonicalDataParser = new CanonicalDataParser(canonicalDataFile);

            foreach (var exercise in new ExerciseCollection(canonicalDataFile, options))
            {
                RegenerateTestClass(exercise, options, canonicalDataParser);
            }

            if (options.ShouldGenerate)
            {
                Log.Information("Re-generated test classes.");
            }
        }
Пример #3
0
        private static void RegenerateTestClasses(Options options)
        {
            options.Normalize();

            var canonicalDataFile = new CanonicalDataFile(options);

            canonicalDataFile.DownloadData();

            Log.Information("Re-generating test classes...");

            var canonicalDataParser = new CanonicalDataParser(canonicalDataFile);

            foreach (var exercise in new ExerciseCollection(canonicalDataFile))
            {
                RegenerateTestClass(exercise, options, canonicalDataParser);
            }

            Log.Information("Re-generated test classes.");
        }
Пример #4
0
        private static TestClass CreateTestClass(Exercise exercise)
        {
            var canonicalData = CanonicalDataParser.Parse(exercise.Name);

            return(exercise.CreateTestClass(canonicalData));
        }