-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathguess_result_spec.rb
45 lines (40 loc) · 1.33 KB
/
guess_result_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
require_relative('guess_result')
RSpec.describe GuessResult do
describe '#calculate_result' do
it 'works without doubles' do
guess = [:red, :blue, :white, :black]
code = [:yellow, :red, :green, :black]
result = GuessResult.new(guess, code).result
expect(result[:red]).to eq 1
expect(result[:white]).to eq 1
end
it 'works with doubles' do
guess = [:red, :blue, :white, :black]
code = [:yellow, :red, :red, :blue]
result = GuessResult.new(guess, code).result
expect(result[:red]).to eq 0
expect(result[:white]).to eq 2
end
it 'works with doubles' do
guess = [:red, :red, :white, :black]
code = [:yellow, :red, :white, :blue]
result = GuessResult.new(guess, code).result
expect(result[:red]).to eq 2
expect(result[:white]).to eq 1
end
it 'works with doubles' do
guess = [:red, :red, :white, :black]
code = [:yellow, :red, :green, :blue]
result = GuessResult.new(guess, code).result
expect(result[:red]).to eq 1
expect(result[:white]).to eq 1
end
it 'works with doubles' do
guess = [:red, :red, :blue, :blue]
code = [:blue, :blue, :yellow, :red]
result = GuessResult.new(guess, code).result
expect(result[:red]).to eq 0
expect(result[:white]).to eq 4
end
end
end