Sha256: b773f9cf877988064a95282603b7e5b80a46b13fa405728a03d7e5b03a89dc35

Contents?: true

Size: 843 Bytes

Versions: 102

Compression:

Stored size: 843 Bytes

Contents

require "../exercise_generator"
require "../exercise_test_case"

class BinaryGenerator < ExerciseGenerator
  def exercise_name
    "binary"
  end

  def test_cases
    JSON.parse(data)["decimal"].map do |test_case|
      BinaryTestCase.new(test_case)
    end
  end
end

class BinaryTestCase < ExerciseTestCase
  private getter binary : JSON::Any
  private getter description : JSON::Any
  private getter expected : JSON::Any?

  def initialize(test_case)
    @binary = test_case["binary"]
    @description = test_case["description"]
    @expected = test_case["expected"]?
  end

  def workload
    if expected
      "Binary.to_decimal(\"#{binary}\").should eq(#{expected})"
    else
      <<-WL
      expect_raises do
            Binary.to_decimal(\"#{binary}\")
          end
      WL
    end
  end

  def test_name
    description
  end
end

Version data entries

102 entries across 102 versions & 1 rubygems

Version Path
trackler-2.2.1.92 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.91 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.90 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.89 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.88 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.87 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.86 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.85 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.84 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.83 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.82 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.81 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.80 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.79 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.78 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.77 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.76 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.75 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.74 tracks/crystal/generator/src/generators/binary.cr
trackler-2.2.1.73 tracks/crystal/generator/src/generators/binary.cr