def test_play_states_when_the_player_wins(mocker):
   mocker.patch('lib.console.display')
   mocker.patch('lib.player_input.read_choice', return_value="p")
   mocker.patch('lib.computer_input.read_choice', return_value="r")

   Game.play()

   lib.console.display.assert_any_call("Player wins!")
def test_play_states_when_the_player_wins(mocker):
   mocker.patch('lib.console.display')
   mocker.patch('lib.player_input.read_choice', return_value="p")
   mocker.patch('lib.computer_input.read_choice', return_value="r")

   Game.play()

   lib.console.display.assert_any_call("Player wins!")
def test_play_states_when_a_tie_occurres(mocker):
   mocker.patch('lib.console.display')
   mocker.patch('lib.player_input.read_choice', return_value="r")
   mocker.patch('lib.computer_input.read_choice', return_value="r")

   Game.play()

   lib.console.display.assert_any_call("It's a tie!")
def test_play_computers_choice_is_displayed_if_computer_picks_other_option(mocker):
   mocker.patch('lib.console.display')
   mocker.patch('lib.console.display_no_newline')
   mocker.patch('lib.player_input.read_choice')
   mocker.patch('lib.computer_input.read_choice', return_value="r")

   Game.play()

   lib.console.display.assert_any_call("Computer played Rock!")
def test_play_computers_choice_is_displayed(mocker):
   mocker.patch('lib.console.display')
   mocker.patch('lib.console.display_no_newline')
   mocker.patch('lib.player_input.read_choice')
   mocker.patch('lib.computer_input.read_choice', return_value="p")

   Game.play()

   lib.console.display.assert_any_call("Computer played Paper!")
def test_play_prompts_for_users_option(mocker):
   mocker.patch('lib.console.display')
   mocker.patch('lib.console.display_no_newline')
   mocker.patch('lib.player_input.read_choice')
   mocker.patch('lib.computer_input.read_choice')

   Game.play()

   lib.console.display.assert_any_call("Rock (r), Paper (p) or Scissors (s):")
def test_play_computers_choice_is_displayed_if_computer_picks_other_option(mocker):
   mocker.patch('lib.console.display')
   mocker.patch('lib.console.display_no_newline')
   mocker.patch('lib.player_input.read_choice')
   mocker.patch('lib.computer_input.read_choice', return_value="r")

   Game.play()

   lib.console.display.assert_any_call("Computer played Rock!")
def test_play_computers_choice_is_displayed(mocker):
   mocker.patch('lib.console.display')
   mocker.patch('lib.console.display_no_newline')
   mocker.patch('lib.player_input.read_choice')
   mocker.patch('lib.computer_input.read_choice', return_value="p")

   Game.play()

   lib.console.display.assert_any_call("Computer played Paper!")
def test_play_prompts_for_users_option(mocker):
   mocker.patch('lib.console.display')
   mocker.patch('lib.console.display_no_newline')
   mocker.patch('lib.player_input.read_choice')
   mocker.patch('lib.computer_input.read_choice')

   Game.play()

   lib.console.display.assert_any_call("Rock (r), Paper (p) or Scissors (s):")
Esempio n. 10
0
    parser.add_argument(
        "--bombs",
        "-b",
        help=
        f"Number of bombs to place on the board. (default {DEFAULT_NUM_BOMBS})",
        type=int,
        default=DEFAULT_NUM_BOMBS,
        dest="num_bombs",
    )

    parser.add_argument(
        "--guide",
        help="Show column and row numbers around the board.",
        action="store_true",
        dest="show_guide",
    )

    args = parser.parse_args(args_list)

    return Configuration(board_size=args.board_size,
                         num_bombs=args.num_bombs,
                         show_guide=args.show_guide)


if __name__ == "__main__":
    config = parse_args(sys.argv[1:])

    game = Game(config=config)
    game.play()