Sha256: f6f3866e134d19782a6c58ec971b59e59149223fd169b8bbd41f97065a3f1d10

Contents?: true

Size: 689 Bytes

Versions: 28

Compression:

Stored size: 689 Bytes

Contents

class BinaryCase < OpenStruct
  def name
    'test_%s' % description.gsub(/[ -]/, '_')
  end

  def assertion
    return error_assertion if raises_error?
    equality_assertion
  end

  def skipped
    index.zero? ? '# skip' : 'skip'
  end

  private

  def error_assertion
    "assert_raises(ArgumentError) { #{work_load} }"
  end

  def equality_assertion
    "assert_equal #{expected}, #{work_load}"
  end

  def work_load
    "Binary.new('#{binary}')#{'.to_decimal' unless raises_error?}"
  end

  def raises_error?
    expected.nil?
  end
end

BinaryCases = proc do |data|
  JSON.parse(data)['decimal'].map.with_index do |row, i|
    BinaryCase.new(row.merge('index' => i))
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
trackler-2.0.3.2 tracks/ruby/lib/binary_cases.rb
trackler-2.0.3.1 tracks/ruby/lib/binary_cases.rb
trackler-2.0.3.0 tracks/ruby/lib/binary_cases.rb
trackler-2.0.2.0 tracks/ruby/lib/binary_cases.rb
trackler-2.0.1.2 tracks/ruby/lib/binary_cases.rb
trackler-2.0.1.1 tracks/ruby/lib/binary_cases.rb
trackler-2.0.1.0 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.10 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.9 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.8 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.7 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.6 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.5 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.4 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.3 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.2 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.1 tracks/ruby/lib/binary_cases.rb
trackler-2.0.0.0 tracks/ruby/lib/binary_cases.rb
trackler-1.0.4.1 tracks/ruby/lib/binary_cases.rb
trackler-1.0.4.0 tracks/ruby/lib/binary_cases.rb