Sha256: 6bbbf0b128f5bb90be5b5e2da20898a343acca3457a87a0abfa3ab31b726c45d

Contents?: true

Size: 755 Bytes

Versions: 133

Compression:

Stored size: 755 Bytes

Contents

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

class TriangleGenerator < ExerciseGenerator
  def exercise_name
    "triangle"
  end

  def test_cases
    cases = [] of TriangleTestCase
    JSON.parse(data)["cases"].each do |category|
      category["cases"].each do |test_case|
        next if test_case["comments"]? # skip float cases
        cases << TriangleTestCase.from_json(test_case.to_json)
      end
    end
    cases
  end
end

class TriangleTestCase < ExerciseTestCase

  JSON.mapping(
    description: String,
    property: String,
    sides: Array(Int32),
    expected: Bool
  )

  def workload
    "Triangle.new(#{sides}).#{property}?.should eq(#{expected})"
  end

  def test_name
    description
  end
end

Version data entries

133 entries across 133 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.179 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.178 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.177 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.176 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.175 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.174 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.173 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.172 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.171 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.170 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.169 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.167 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.166 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.165 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.164 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.163 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.162 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.161 tracks/crystal/generator/src/generators/triangle.cr
trackler-2.2.1.160 tracks/crystal/generator/src/generators/triangle.cr