tracks/crystal/generator/src/generators/difference_of_squares.cr in trackler-2.2.1.147 vs tracks/crystal/generator/src/generators/difference_of_squares.cr in trackler-2.2.1.148

- old
+ new

@@ -5,14 +5,13 @@ def exercise_name "difference-of-squares" end def test_cases - ["square_of_sum", "sum_of_squares", "difference_of_squares"] - .reduce(Array(ExerciseTestCase).new) do |cases, type| - cases + JSON.parse(data)[type]["cases"].map do |test_case| - DifferenceOfSquaresTestCase.new(test_case, type) + JSON.parse(data)["cases"].flat_map do |case_group| + case_group["cases"].map do |test_case| + DifferenceOfSquaresTestCase.new(test_case) end end end end @@ -20,12 +19,12 @@ private getter number : JSON::Any private getter description : JSON::Any private getter expected : JSON::Any? private getter type : String - def initialize(test_case, type) - @type = type - @number = test_case["number"] + def initialize(test_case) + @type = test_case["property"].as_s.gsub(/([A-Z])/, "_\\1").downcase + @number = test_case["input"]["number"] @description = test_case["description"] @expected = test_case["expected"]? end def workload