Построение испытаний при победе первого игрока

Первый игрок выигрывает, если выбранный им предмет является самым мощным.

  • Когда первый игрок выбирает ножницы, а второй игрок выбирает бумагу:
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

Оцените статью
devanswers.ru
Добавить комментарий