Sha256: da0d7b91bda5d74f639c50fa36dfa270833a906b99127eb995b052d031997461
Contents?: true
Size: 900 Bytes
Versions: 86
Compression:
Stored size: 900 Bytes
Contents
require "../exercise_generator" require "../exercise_test_case" class FlattenArrayGenerator < ExerciseGenerator def exercise_name "flatten-array" end def test_cases JSON.parse(data)["cases"].map do |test_case| FlattenArrayTestCase.new(test_case) end end end class FlattenArrayTestCase < ExerciseTestCase private getter description : JSON::Any private getter input : JSON::Any private getter expected : JSON::Any def initialize(test_case) @description = test_case["description"] @input = test_case["input"]["array"] @expected = fix_empty_array(test_case["expected"]) end def workload "FlattenArray.flatten(#{input}).should eq(#{expected})" end def test_name description end def fix_empty_array(input) if input.to_s.match(/\[\]/) json = "[] of Nil".to_json JSON.parse(json) else input end end end
Version data entries
86 entries across 86 versions & 1 rubygems