Class: ABCing::ColourAlphabetResult
- Inherits:
-
Object
- Object
- ABCing::ColourAlphabetResult
- Defined in:
- lib/abcing/colour_alphabet_result.rb
Instance Method Summary collapse
- #calculate ⇒ Object
- #colour(letter) ⇒ Object
-
#initialize(params) ⇒ ColourAlphabetResult
constructor
A new instance of ColourAlphabetResult.
- #test_letter_covered?(letter) ⇒ Boolean
- #test_letter_not_covered?(letter) ⇒ Boolean
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
#calculate ⇒ Object
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] = 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
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
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 |