Sha256: ba2cea0468c61c427f779d48e79170410c1478519e0d1db3e09e857949ab0099

Contents?: true

Size: 688 Bytes

Versions: 129

Compression:

Stored size: 688 Bytes

Contents

require 'generator/exercise_case'

class QueenAttackCase < Generator::ExerciseCase

  def workload
    property == 'create' ? create_workload : attack_workload
  end

  private

  def attack_workload
    """queens = Queens.new(white: #{parse_position white_queen}, black: #{parse_position black_queen})
    #{assert} queens.attack?"""
  end

  def parse_position queen
    [queen['position']['row'], queen['position']['column']]
  end

  def create_workload
    raises_error? ? exception : "#{assert} #{test_case}"
  end

  def test_case
    "Queens.new(white: #{parse_position queen})"
  end

  def exception
    """assert_raises ArgumentError do
      #{test_case}
    end"""
  end
end

Version data entries

129 entries across 129 versions & 1 rubygems

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