Sha256: 701b00600697f72e62b7904227af665e0e1f8157d2fa223b396d0f959ed8673f

Contents?: true

Size: 624 Bytes

Versions: 27

Compression:

Stored size: 624 Bytes

Contents

using Generators.Input;
using Generators.Output;

namespace Generators
{
    public abstract class Exercise
    {
        protected Exercise()
        {
            Name = GetType().ToExerciseName();
            CanonicalData = CanonicalDataParser.Parse(Name);
        }

        public string Name { get; }
        public CanonicalData CanonicalData { get; }

        public void Generate() => TestClassFile.Write(this, Render());

        protected virtual string Render() => TestClassRenderer.Render(CreateTestClass());

        protected virtual TestClass CreateTestClass() => TestClassGenerator.Create(this);
    }
}

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
trackler-2.2.1.12 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.11 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.10 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.9 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.8 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.7 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.6 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.5 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.4 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.3 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.2 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.1 tracks/csharp/generators/Exercise.cs
trackler-2.2.1.0 tracks/csharp/generators/Exercise.cs
trackler-2.2.0.6 tracks/csharp/generators/Exercise.cs
trackler-2.2.0.5 tracks/csharp/generators/Exercise.cs
trackler-2.2.0.4 tracks/csharp/generators/Exercise.cs
trackler-2.2.0.3 tracks/csharp/generators/Exercise.cs
trackler-2.2.0.2 tracks/csharp/generators/Exercise.cs
trackler-2.2.0.1 tracks/csharp/generators/Exercise.cs
trackler-2.2.0.0 tracks/csharp/generators/Exercise.cs