Class: ABCing::ColourAlphabetResult

Inherits:
Object
  • Object
show all
Defined in:
lib/abcing/colour_alphabet_result.rb

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ ColourAlphabetResult

Returns a new instance of ColourAlphabetResult.



3
4
5
6
7
# 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

Instance Method Details

#calculateObject



9
10
11
12
13
14
15
16
17
# File 'lib/abcing/colour_alphabet_result.rb', line 9

def calculate
  results = {}

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

  results
end

#colour(letter) ⇒ Object



19
20
21
22
23
24
25
# 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) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# 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) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
# 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