Sha256: 395d224290e6d70c24b4b6a86002336360cd68eaa9fa9af6a619afa0de23b826

Contents?: true

Size: 650 Bytes

Versions: 216

Compression:

Stored size: 650 Bytes

Contents

require 'generator/exercise_case'

class AnagramCase < Generator::ExerciseCase

  def workload
    indent_lines([show_comment, detector, anagram, wanted, assert].compact)
  end

  private

  def indent_lines(code, indent = 2)
    code.join("\n" + ' '*2*indent)
  end

  def show_comment
    "# #{comment}" if respond_to?(:comment)
  end

  def detector
    "detector = Anagram.new('#{subject}')"
  end

  def anagram
    "anagrams = detector.match(#{candidates})"
  end

  def wanted
    "expected = #{expected.sort}"
  end

  def assert
    actual = expected.size > 1 ? 'anagrams.sort' : 'anagrams'
    "assert_equal expected, #{actual}"
  end

end

Version data entries

216 entries across 216 versions & 1 rubygems

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