def test_present_start_menu_options_without_existing_minefields(self): menu_options = get_keywords(test_action_method=self.subject, keyword_argument='menu_options', spy_class=PresentStartMenuOptionsUseCaseObserver, spied_upon_method_name='did_present_start_menu_options') expected_menu_options = MenuOptions( options=[StartMenuOptionType.StartNewGame, StartMenuOptionType.Quit], initially_selected_option=StartMenuOptionType.StartNewGame) self.assertEqual(menu_options, expected_menu_options)
def test_present_start_menu_options_with_existing_minefields(self): self.minefield_repository.create_minefield(board=Board(row_count=5, column_count=5), mine_coordinates=frozenset([Coordinate(1, 1)])) menu_options = get_keywords(test_action_method=self.subject, keyword_argument='menu_options', spy_class=PresentStartMenuOptionsUseCaseObserver, spied_upon_method_name='did_present_start_menu_options') expected_options = [StartMenuOptionType.StartNewGame, StartMenuOptionType.ResumeGame, StartMenuOptionType.Quit] expected_menu_options = MenuOptions(options=expected_options, initially_selected_option=StartMenuOptionType.StartNewGame) self.assertEqual(menu_options, expected_menu_options)
def test_present_start_menu_options_should_notify_observer_with_present_create_board_options_callable(self): present_create_board_options = get_keywords(test_action_method=self.subject, keyword_argument='present_create_board_options', spy_class=PresentStartMenuOptionsUseCaseObserver, spied_upon_method_name='did_present_start_menu_options') create_board = get_keywords(test_action_method=present_create_board_options, keyword_argument='create_board', spy_class=PresentCreateBoardOptionsUseCaseObserver, spied_upon_method_name='did_present_create_board_options') create_board = partial(create_board.__call__, row_count=7, column_count=6) board = get_keywords(test_action_method=create_board, keyword_argument='board', spy_class=CreateBoardUseCaseObserver, spied_upon_method_name='did_create_board') expected_board = Board(row_count=7, column_count=6) assert_boards_equal(board=board, expected_board=expected_board, test_case=self) board_snapshot = get_keywords(test_action_method=create_board, keyword_argument='board_snapshot', spy_class=CreateBoardUseCaseObserver, spied_upon_method_name='did_create_board') expected_board_snapshot = [[CellType.Unknown for column in range(6)] for row in range(7)] assert_board_snapshots_equal(board_snapshot=board_snapshot, expected_board_snapshot=expected_board_snapshot, test_case=self)