def test_Best_Column_For_Disk_EmptyBoard(score, max_score): """Function best_column_for_disk: empty board.""" max_score.value += 4 try: set_up() board = Board.init_board(dimension=6) best_column, highest_score = Drop7.best_drop_for_disk( board, visible_disk_value_5) assert (best_column, highest_score) == (6, 0) assert Board.get_disk_at(board, (6, 1)) is visible_disk_value_5 score.value += 4 except: pass
def test_Best_Column_For_Disk_SeveralColumns(score, max_score): """Function best_columns_for_disk: several columns""" max_score.value += 10 try: set_up() board = Board.init_board \ (dimension=6, given_disks= \ ((cracked_disk_value_4,), (cracked_disk_value_4_B, visible_disk_value_5, cracked_disk_value_1, wrapped_disk_value_4), (wrapped_disk_value_4_B, cracked_disk_value_4_C), (visible_disk_value_5_B, wrapped_disk_value_5, visible_disk_value_5_C, visible_disk_value_5_D), (), (cracked_disk_value_1_B, visible_disk_value_5_E, visible_disk_value_5_F, visible_disk_value_5_G) )) board_copy = Board.get_board_copy(board) best_column, highest_score = Drop7.best_drop_for_disk( board, visible_disk_value_2) assert (best_column, highest_score) == (6, 14) actual_score = Drop7.play(board_copy, [visible_disk_value_2], [best_column]) assert actual_score == highest_score assert are_equal_boards(board, board_copy) score.value += 10 except: pass
def test_Best_Columns_For_Disk_SingleColumn(score, max_score): """Function best_columns_for_disk: single column""" max_score.value += 8 try: set_up() board = Board.init_board \ (dimension=6, given_disks= \ ((wrapped_disk_value_3,), (wrapped_disk_value_5, cracked_disk_value_2, cracked_disk_value_1, wrapped_disk_value_4), (wrapped_disk_value_4_B, cracked_disk_value_3), (cracked_disk_value_4, visible_disk_value_5, visible_disk_value_3, cracked_disk_value_5), (), (wrapped_disk_value_3_B, visible_disk_value_3_B))) board_copy = Board.get_board_copy(board) best_column, highest_score = Drop7.best_drop_for_disk( board, visible_disk_value_5_B) assert (best_column, highest_score) == (4, 16) actual_score = Drop7.play(board_copy, [visible_disk_value_5_B], [best_column]) assert actual_score == highest_score assert are_equal_boards(board, board_copy) score.value += 8 except: pass