Sha256: ffb93da2ee654b68fea3f7de5f71cfd46cf6f15c89550188ffd30f3402776f67

Contents?: true

Size: 836 Bytes

Versions: 216

Compression:

Stored size: 836 Bytes

Contents

require 'generator/exercise_case'

class TriangleCase < Generator::ExerciseCase
  def name
    initial = description.downcase
    replaced = initial.gsub(/(true|false)/, expected_type)
    if initial.eql?(replaced) && !initial.include?(property)
      replaced = property + ' triangle ' + initial
    end
    'test_%s' % replaced.tr_s(', -', '_')
  end

  def workload
    [
      "triangle = Triangle.new(#{sides})",
      indent("#{assert} triangle.#{property}?, #{failure_message}")
    ].join("\n")
  end

  private

  def indent(line)
    ' ' * 4 + line
  end

  def failure_message
    %Q("Expected '#{expected}', #{expected_triangle}.")
  end

  def expected_type
    "triangle is #{type}"
  end

  def expected_triangle
    "triangle #{sides} is #{type}"
  end

  def type
    "#{expected ? '' : 'not ' }#{property}"
  end

end

Version data entries

216 entries across 216 versions & 1 rubygems

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