Перейти к содержанию

Acceptance tests — yatzy

Feature: Яцзы (yatzy)

  Scenario: Первый бросок костей
    Given игра yatzy с 2 игроками
    And фаза AwaitRoll
    When игрок 1 выполняет roll_dice
    Then фаза Rolled
    And dice содержит 5 значений 1-6
    And rolls_left равен 2

  Scenario: Удержание костей и переброс
    Given фаза Rolled с dice [3,3,3,1,2]
    When игрок выполняет keep_dice с indices [0,1,2]
    And выполняет roll_dice
    Then dice[0], dice[1], dice[2] остаются 3
    And rolls_left уменьшается на 1

  Scenario: Запись в категорию и смена хода
    Given фаза Rolled
    When игрок выполняет score_category {category: "full_house"}
    Then категория full_house заполнена в scorecard
    And ход переходит к следующему игроку
    And фаза AwaitRoll

  Scenario: Победа по сумме очков
    Given все категории заполнены у обоих игроков
    When подсчитаны total scores
    Then winner_id установлен на игрока с большей суммой
    And фаза GameOver