Sha256: 796b25a36f355e9268013f3d4f8ae9c0525991daacc55b4bf179d0993be2e1bc

Contents?: true

Size: 1.1 KB

Versions: 86

Compression:

Stored size: 1.1 KB

Contents

using System;
using System.Collections.Generic;
using System.Linq;
using Generators.Input;

namespace Generators.Exercises
{
    public class Alphametics : GeneratorExercise
    {
        protected override void UpdateCanonicalData(CanonicalData canonicalData)
        {
            foreach (var canonicalDataCase in canonicalData.Cases)
            {
                canonicalDataCase.UseVariableForExpected = true;
                canonicalDataCase.UseVariableForTested = true;

                if (canonicalDataCase.Expected == null)
                    canonicalDataCase.ExceptionThrown = typeof(ArgumentException);
                else
                    canonicalDataCase.Expected = ConvertExpected(canonicalDataCase);
            }
        }

        private static dynamic ConvertExpected(CanonicalDataCase canonicalDataCase) 
            => ((Dictionary<string, object>)canonicalDataCase.Expected).ToDictionary(kv => kv.Key[0], kv => int.Parse(kv.Value.ToString()));

        protected override HashSet<string> AddAdditionalNamespaces() => new HashSet<string> { typeof(Dictionary<char, int>).Namespace };
    }
}

Version data entries

86 entries across 86 versions & 1 rubygems

Version Path
trackler-2.2.1.151 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.150 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.149 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.148 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.147 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.146 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.145 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.144 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.143 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.142 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.141 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.140 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.139 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.138 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.137 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.136 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.135 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.134 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.133 tracks/csharp/generators/Exercises/Alphametics.cs
trackler-2.2.1.132 tracks/csharp/generators/Exercises/Alphametics.cs