class ABCing::ColourAlphabetResult

Public Class Methods

new(params) click to toggle source
# File lib/abcing/colour_alphabet_result.rb, line 3
def initialize(params)
  @test_letters = params.fetch(:test_letters)
  @app_letters = params.fetch(:app_letters)
  @alphabet = ('A'..'Z').to_a
end

Public Instance Methods

calculate() click to toggle source
# File lib/abcing/colour_alphabet_result.rb, line 9
def calculate
  results = {}

  @alphabet.each do |a|
    results[a] = colour(a)
  end

  results
end
colour(letter) click to toggle source
# File lib/abcing/colour_alphabet_result.rb, line 19
def colour(letter)
  return :green if test_letter_covered?(letter)

  return :red if test_letter_not_covered?(letter)

  :yellow
end
test_letter_covered?(letter) click to toggle source
# File lib/abcing/colour_alphabet_result.rb, line 27
def test_letter_covered?(letter)
  @app_letters.include?(letter) and @test_letters.include?(letter)
end
test_letter_not_covered?(letter) click to toggle source
# File lib/abcing/colour_alphabet_result.rb, line 31
def test_letter_not_covered?(letter)
  @app_letters.include?(letter) and !@test_letters.include?(letter)
end