Beispiel #1
0
def test_owners_and_cats_are_created(mocker):
    mocker.patch('herdcats.players.are_all_cats_found')
    mocker.patch('herdcats.players.move')
    mocker.patch('herdcats.reporting.print_summary')
    create = mocker.patch('herdcats.players.create')

    simulation.run(3)

    create.assert_called_once_with(3)
Beispiel #2
0
def test_summary_report_printed_after_simulation(mocker):
    mocker.patch('herdcats.simulation.MAX_TURNS', 5)
    mocker.patch('herdcats.players.create').return_value = 'owners_and_cats'
    mocker.patch('herdcats.players.are_all_cats_found').return_value = False
    mocker.patch('herdcats.players.move')
    report = mocker.patch('herdcats.reporting.print_summary')

    simulation.run(3)

    report.assert_called_once_with('owners_and_cats')
Beispiel #3
0
def test_simulation_stops_if_all_cats_found(mocker):
    mocker.patch('herdcats.players.create')
    mocker.patch('herdcats.players.are_all_cats_found').side_effect = [
        False, False, True]
    mocker.patch('herdcats.reporting.print_summary')
    move = mocker.patch('herdcats.players.move')

    simulation.run(3)

    assert move.call_count == 2
Beispiel #4
0
def test_simulation_stops_after_MAX_TURNS_turns_if_all_cats_not_found(mocker):
    mocker.patch('herdcats.simulation.MAX_TURNS', 5)
    mocker.patch('herdcats.players.create')
    mocker.patch('herdcats.players.are_all_cats_found').return_value = False
    mocker.patch('herdcats.reporting.print_summary')
    move = mocker.patch('herdcats.players.move')

    simulation.run(3)

    assert move.call_count == 5
Beispiel #5
0
def test_players_attempt_to_move_on_each_turn(mocker):
    mocker.patch('herdcats.simulation.MAX_TURNS', 2)
    mocker.patch('herdcats.players.create').return_value = 'players'
    mocker.patch('herdcats.players.are_all_cats_found').return_value = False
    mocker.patch('herdcats.reporting.print_summary')
    move = mocker.patch('herdcats.players.move')

    simulation.run(3)

    assert move.call_args_list == [(('players', 1),), (('players', 2),)]