Sha256: ceee71398e6ab872823d0fb9790e6fc1ea36117dab5f581dd72e74b828525b67

Contents?: true

Size: 842 Bytes

Versions: 52

Compression:

Stored size: 842 Bytes

Contents

using System.IO;
using Serilog;

namespace Generators.Output
{
    public class ExerciseWriter
    {
        public virtual void WriteToFile(Exercise exercise)
        {
            var testClassFilePath = TestClassFilePath(exercise);
            var testClassContents = exercise.Render();

            Directory.CreateDirectory(Path.GetDirectoryName(testClassFilePath));
            File.WriteAllText(testClassFilePath, testClassContents);

            Log.Information("Generated tests for {Exercise} exercise in {TestFile}", exercise.Name, testClassFilePath);
        }

        private static string TestClassFilePath(Exercise exercise) => Path.Combine("..", "exercises", exercise.Name, TestClassFileName(exercise));

        private static string TestClassFileName(Exercise exercise) => $"{exercise.Name.ToTestClassName()}.cs";
    }
}

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
trackler-2.2.1.44 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.43 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.42 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.41 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.40 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.39 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.38 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.37 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.36 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.35 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.34 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.33 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.32 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.31 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.30 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.29 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.28 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.27 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.26 tracks/csharp/generators/Output/ExerciseWriter.cs
trackler-2.2.1.25 tracks/csharp/generators/Output/ExerciseWriter.cs