def test_Highest_Score__Two_Disks_Exploding_At_Last_Drop(score, max_score): """Function highest_score: Two disks, highest score when exploding at last drop.""" max_score.value += 12 try: set_up() test_board = Board.init_board \ (dimension=4, given_disks= \ ([wrapped_disk_value_1, ], [wrapped_disk_value_4, cracked_disk_value_2, cracked_disk_value_3], [cracked_disk_value_3_B], [wrapped_disk_value_4_B])) test_board_alias = Board.init_board \ (dimension=4, given_disks= \ ([wrapped_disk_value_1, ], [wrapped_disk_value_4, cracked_disk_value_2, cracked_disk_value_3], [cracked_disk_value_3_B], [wrapped_disk_value_4_B])) test_board_copy = Board.get_board_copy(test_board) highest_score, columns = Drop7.highest_score( test_board, [wrapped_disk_value_3_B, visible_disk_value_3]) assert highest_score == 14 assert columns == [1, 1] assert are_identical_boards(test_board, test_board_alias) assert are_equal_boards(test_board, test_board_copy) score.value += 12 except: pass
def test_Highest_Score__Single_Disk_Several_Explosions(score, max_score): """Function highest_score: Single exploding disk, with same high score in several columns.""" max_score.value += 10 try: set_up() test_board = Board.init_board \ (dimension=4, given_disks= \ ([cracked_disk_value_2, ], [wrapped_disk_value_1, wrapped_disk_value_4], [wrapped_disk_value_3, cracked_disk_value_4, wrapped_disk_value_2, visible_disk_value_2], [cracked_disk_value_1])) test_board_alias = Board.init_board \ (dimension=4, given_disks= \ ([cracked_disk_value_2, ], [wrapped_disk_value_1, wrapped_disk_value_4], [wrapped_disk_value_3, cracked_disk_value_4, wrapped_disk_value_2, visible_disk_value_2], [cracked_disk_value_1])) test_board_copy = Board.get_board_copy(test_board) highest_score, columns = Drop7.highest_score(test_board, [visible_disk_value_2_B]) assert highest_score == 10 assert columns == [4] assert are_identical_boards(test_board, test_board_alias) assert are_equal_boards(test_board, test_board_copy) score.value += 10 except: pass
def test_Highest_Score__NoDisks(score, max_score): """Function highest_score: No disks.""" max_score.value += 3 try: set_up() test_board_4_copy = Board.get_board_copy(test_board_4) highest_score, columns = Drop7.highest_score(test_board_4, []) assert highest_score == 0 assert len(columns) == 0 assert are_identical_boards(test_board_4, test_board_4_alias) assert are_equal_boards(test_board_4, test_board_4_copy) score.value += 3 except: pass
def test_Highest_Score__Single_Disk_No_Explosions(score, max_score): """Function highest_score: Single disk, no explosions.""" max_score.value += 4 try: set_up() test_board_4_copy = Board.get_board_copy(test_board_4) highest_score, columns = Drop7.highest_score(test_board_4, [visible_disk_value_4]) assert highest_score == 0 assert columns == [1] assert are_identical_boards(test_board_4, test_board_4_alias) assert are_equal_boards(test_board_4, test_board_4_copy) score.value += 4 except: pass
def test_Highest_Score__Several_Disks_Case_2(score, max_score): """Function highest_score: Several disks, case 2.""" # This test takes quite some time. max_score.value += 40 try: set_up() test_board = Board.init_board \ (dimension=6, given_disks= \ ([cracked_disk_value_1, cracked_disk_value_2, cracked_disk_value_3, cracked_disk_value_4, cracked_disk_value_5], [visible_disk_value_3, wrapped_disk_value_4, cracked_disk_value_2_B, visible_disk_value_5], [], [wrapped_disk_value_2_B, visible_disk_value_1], [visible_disk_value_6, visible_disk_value_4, visible_disk_value_3_C, visible_disk_value_2, visible_disk_value_2_B], [visible_disk_value_4_B, cracked_disk_value_4_C, wrapped_disk_value_3])) test_board_alias = Board.init_board \ (dimension=6, given_disks= \ ([cracked_disk_value_1, cracked_disk_value_2, cracked_disk_value_3, cracked_disk_value_4, cracked_disk_value_5], [visible_disk_value_3, wrapped_disk_value_4, cracked_disk_value_2_B, visible_disk_value_5], [], [wrapped_disk_value_2_B, visible_disk_value_1], [visible_disk_value_6, visible_disk_value_4, visible_disk_value_3_C, visible_disk_value_2, visible_disk_value_2_B], [visible_disk_value_4_B, cracked_disk_value_4_C, wrapped_disk_value_3])) test_board_copy = Board.get_board_copy(test_board) highest_score, columns = Drop7.highest_score(test_board, [ wrapped_disk_value_3_B, visible_disk_value_6_B, visible_disk_value_5_B, wrapped_disk_value_4_B ]) assert highest_score == 1164 assert columns == [6, 5, 3, 2] assert are_identical_boards(test_board, test_board_alias) assert are_equal_boards(test_board, test_board_copy) score.value += 40 except: pass
def test_Highest_Score__Too_Many_Disks(score, max_score): """Function highest_score: Too many disks.""" max_score.value += 6 try: set_up() test_board = Board.init_board \ (dimension=2, given_disks= \ ([cracked_disk_value_1, ], [cracked_disk_value_1_B, ])) test_board_alias = Board.init_board \ (dimension=2, given_disks= \ ([cracked_disk_value_1, ], [cracked_disk_value_1_B, ])) test_board_copy = Board.get_board_copy(test_board) highest_score, columns = \ Drop7.highest_score(test_board, [wrapped_disk_value_1, wrapped_disk_value_2, visible_disk_value_1]) assert highest_score is None assert columns is None assert are_identical_boards(test_board, test_board_alias) assert are_equal_boards(test_board, test_board_copy) score.value += 6 except: pass
(), (wrapped_disk_value_3_D, visible_disk_value_3))) test_board_6_alias = Board.init_board \ (dimension=6, given_disks= \ ((wrapped_disk_value_3,), (wrapped_disk_value_3_B, visible_disk_value_4), (visible_disk_value_5, visible_disk_value_4_B, visible_disk_value_1), (visible_disk_value_1_B, cracked_disk_value_1, visible_disk_value_6, wrapped_disk_value_3_C, cracked_disk_value_1_B), (), (wrapped_disk_value_3_D, visible_disk_value_3))) set_up() test_board = Board.init_board \ (dimension=2, given_disks= \ ([cracked_disk_value_1, ], [cracked_disk_value_1_B, ])) test_board_alias = Board.init_board \ (dimension=2, given_disks= \ ([cracked_disk_value_1, ], [cracked_disk_value_1_B, ])) test_board_copy = Board.get_board_copy(test_board) highest_score, columns = \ Drop7.highest_score(test_board, [wrapped_disk_value_1, wrapped_disk_value_2, visible_disk_value_1]) assert highest_score is None assert columns is None assert Drop7_Test.are_identical_boards(test_board, test_board_alias) assert Drop7_Test.are_equal_boards(test_board, test_board_copy)