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