Первый игрок выигрывает, если выбранный им предмет является самым мощным.
- Когда первый игрок выбирает ножницы, а второй игрок выбирает бумагу:
defmodule GameTest do
use ExUnit.Case
@stone 1
@paper 2
@scissor 3
# ...
describe "Game.play/2 when first player wins" do
test "when first player chooses scissor and second player chooses paper" do
first_player_choice = @scissor
second_player_choise = @paper
assert {:ok, match} = Game.play(first_player_choice, second_player_choise)
assert match == "First player win!!!"
end
end
end
- Когда первый игрок выбирает бумагу, а второй — камень:
defmodule GameTest do
use ExUnit.Case
@stone 1
@paper 2
@scissor 3
# ...
describe "Game.play/2 when first player wins" do
# ...
test "when first player chooses paper and second player chooses stone" do
first_player_choice = @paper
second_player_choise = @stone
assert {:ok, match} = Game.play(first_player_choice, second_player_choise)
assert match == "First player win!!!"
end
end
end
- Когда первый игрок выбирает камень, а второй — ножницы:
defmodule GameTest do
use ExUnit.Case
@stone 1
@paper 2
@scissor 3
# ...
describe "Game.play/2 when first player wins" do
# ...
test "when first player chooses stone and second player chooses scissor" do
first_player_choice = @stone
second_player_choise = @scissor
assert {:ok, match} = Game.play(first_player_choice, second_player_choise)
assert match == "First player win!!!"
end
end
end
Рассмотрим код тестов, когда результатом игры является
"First player win!!!"
.
defmodule GameTest do
use ExUnit.Case
@stone 1
@paper 2
@scissor 3
# ...
describe "Game.play/2 when first player wins" do
test "when first player chooses scissor and second player chooses paper" do
first_player_choice = @scissor
second_player_choise = @paper
assert {:ok, match} = Game.play(first_player_choice, second_player_choise)
assert match == "First player win!!!"
end
test "when first player chooses paper and second player chooses stone" do
first_player_choice = @paper
second_player_choise = @stone
assert {:ok, match} = Game.play(first_player_choice, second_player_choise)
assert match == "First player win!!!"
end
test "when first player chooses stone and second player chooses scissor" do
first_player_choice = @stone
second_player_choise = @scissor
assert {:ok, match} = Game.play(first_player_choice, second_player_choise)
assert match == "First player win!!!"
end
end
end
В следующем посте мы напишем код нашего модуля Game, следуя тестам, когда побеждает первый игрок.
Контакты
Email: contato@diegonovais.com.br
Linkedin: https://www.linkedin.com/in/diegonovais/
Twitter: https://twitter.com/diegonovaistech