Sha256: 7a1b434550437b65f0ae9abf094291f4e22086acc0625a294fa52b96aec34a84

Contents?: true

Size: 626 Bytes

Versions: 233

Compression:

Stored size: 626 Bytes

Contents

require 'generator/exercise_case'

class EtlCase < Generator::ExerciseCase
  def workload
    indent_lines([
      "old = {\n      #{format(input)}\n    }",
      "expected = {\n      #{format(expected)}\n    }",
      "assert_equal expected, ETL.transform(old)"
    ], 4)
  end

  private

  def format(obj)
    case
    when obj.respond_to?(:each_pair)
      indent_lines(
        obj.each_with_object([]) {|(k, v), string| string << "#{format(k)} => #{format(v)}" },
        6,
        ",\n"
      )
    when obj.respond_to?(:each) then obj
    when obj.to_s =~ /\d+/ then obj.to_i
    else %Q('#{obj}')
    end
  end

end

Version data entries

233 entries across 233 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.179 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.178 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.177 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.176 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.175 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.174 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.173 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.172 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.171 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.170 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.169 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.167 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.166 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.165 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.164 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.163 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.162 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.161 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb
trackler-2.2.1.160 tracks/ruby/exercises/etl/.meta/generator/etl_case.rb