Skip to content
Snippets Groups Projects
Commit eeedb726 authored by Garance Guey's avatar Garance Guey
Browse files

fonction test

parent b84ecf13
Branches
No related tags found
No related merge requests found
...@@ -7,9 +7,16 @@ ...@@ -7,9 +7,16 @@
"test_grid_2048.py::test_grid_add_new_tile", "test_grid_2048.py::test_grid_add_new_tile",
"test_grid_2048.py::test_init_game", "test_grid_2048.py::test_init_game",
"test_grid_2048.py::test_long_value_with_theme", "test_grid_2048.py::test_long_value_with_theme",
"test_grid_2048.py::test_del_zeros",
"test_grid_2048.py::test_move_row_left", "test_grid_2048.py::test_move_row_left",
"test_grid_2048.py::test_move_row_right", "test_grid_2048.py::test_move_row_right",
"test_grid_2048.py::test_move_grid", "test_grid_2048.py::test_move_grid",
"test_grid_2048.py::test_transpose_grid",
"test_grid_2048.py::test_is_grid_full", "test_grid_2048.py::test_is_grid_full",
"test_grid_2048.py::test_move_possible" "test_grid_2048.py::test_move_possible",
"test_grid_2048.py::test_is_game_over",
"test_grid_2048.py::test_get_grid_tile_max",
"test_grid_2048.py::test_did_you_win",
"test_grid_2048.py::test_list_move_possible",
"test_textual_2048.py::test_read_player_command"
] ]
\ No newline at end of file
...@@ -90,7 +90,7 @@ def long_value_with_theme(grid,theme): ...@@ -90,7 +90,7 @@ def long_value_with_theme(grid,theme):
# FONCTIONNALITE 4 # FONCTIONNALITE 4
def del_zeros(row): def del_zeros(row):
#fonction permettant de supprimer les zeros d'une ligne, qui sont inutiles lors du processus de fusion des cases #fonction permettant de supprimer les zeros d'une ligne, et donne la taille de la liste initiale qui sont inutiles lors du processus de fusion des cases
n = len(row) n = len(row)
new_row = [] new_row = []
for i in range(n): for i in range(n):
...@@ -182,6 +182,7 @@ def is_game_over(grid): ...@@ -182,6 +182,7 @@ def is_game_over(grid):
def get_grid_tile_max(grid): def get_grid_tile_max(grid):
return max(get_all_tiles(grid)) return max(get_all_tiles(grid))
def did_you_win (grid): def did_you_win (grid):
return (get_grid_tile_max(grid)>=2048) return (get_grid_tile_max(grid)>=2048)
...@@ -221,15 +222,10 @@ def random_play(): ...@@ -221,15 +222,10 @@ def random_play():
print("\n***********************************\n") #permet aux différentes grilles d'être plus lisible print("\n***********************************\n") #permet aux différentes grilles d'être plus lisible
#vérification si le jeu est gagnant ou perdant #vérification si le jeu est gagnant ou perdant
d=rd.choice(list_move_possible(grid_game))
grid_game=move_grid(grid_game,d)
grid_game=grid_add_new_tile(grid_game)
print(grid_to_string_with_size_and_theme(grid_game,THEMES["0"],4))
print("\n***********************************\n")
if did_you_win(grid_game): if did_you_win(grid_game):
print("CONGRATS ! YOU WON !!!") print("CONGRATS ! YOU WON !!!")
else : else :
print ("YOU FAIL, TRY AGAIN") print ("YOU FAIL, TRY AGAIN")
return() return()
random_play() #TEST random_play()
...@@ -5,8 +5,8 @@ from pytest import * ...@@ -5,8 +5,8 @@ from pytest import *
def test_create_grid(): def test_create_grid():
assert create_grid(0) == [] assert create_grid(0) == []
assert create_grid(1) == [[' ']] assert create_grid(1) == [[0]]
assert create_grid(4) == [[' ',' ',' ', ' '],[' ',' ',' ', ' '],[' ',' ',' ', ' '],[' ',' ',' ', ' ']] assert create_grid(4) == [[0,0,0, 0],[0,0,0, 0],[0,0,0, 0],[0,0,0, 0]]
def test_get_value_new_tile(): def test_get_value_new_tile():
assert get_value_new_tile() == 2 or 4 assert get_value_new_tile() == 2 or 4
...@@ -69,6 +69,11 @@ def test_long_value_with_theme(): ...@@ -69,6 +69,11 @@ def test_long_value_with_theme():
# FONCTIONNALITE 4 # FONCTIONNALITE 4
def test_del_zeros ():
assert del_zeros([5,0,4,6])==([5,4,6],4)
assert del_zeros([0,0])==([],2)
assert del_zeros([0,0,9,7,0,0,0,0])==([9,7],8)
def test_move_row_left(): def test_move_row_left():
assert move_row_left([0, 0, 0, 2]) == [2, 0, 0, 0] assert move_row_left([0, 0, 0, 2]) == [2, 0, 0, 0]
assert move_row_left([0, 2, 0, 4]) == [2, 4, 0, 0] assert move_row_left([0, 2, 0, 4]) == [2, 4, 0, 0]
...@@ -97,6 +102,12 @@ def test_move_grid(): ...@@ -97,6 +102,12 @@ def test_move_grid():
assert move_grid([[2,0,0,2], [2, 4, 0, 0], [8, 4, 2, 0], [8, 2, 2, 0]],"up") == [[4,8,4,2], [16, 2, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] assert move_grid([[2,0,0,2], [2, 4, 0, 0], [8, 4, 2, 0], [8, 2, 2, 0]],"up") == [[4,8,4,2], [16, 2, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
assert move_grid([[2,0,0,2], [2, 4, 0, 0], [8, 4, 2, 0], [8, 2, 2, 0]],"down") == [[0, 0, 0, 0], [0, 0, 0, 0],[4,8,0,0],[16, 2, 4, 2]] assert move_grid([[2,0,0,2], [2, 4, 0, 0], [8, 4, 2, 0], [8, 2, 2, 0]],"down") == [[0, 0, 0, 0], [0, 0, 0, 0],[4,8,0,0],[16, 2, 4, 2]]
def test_transpose_grid ():
assert transpose_grid([[1,3],[2,5]])==[[1,2],[3,5]]
assert transpose_grid([[1,2,3],[6,7,8],[0,0,0]])==[[1,6,0],[2,7,0],[3,8,0]]
#FONCTIONNALITE 5
def test_is_grid_full(): def test_is_grid_full():
assert is_grid_full([[0, 16, 32, 0], [64, 0, 32, 2], [2, 2, 8, 4], [512, 8, 16, 0]]) == False assert is_grid_full([[0, 16, 32, 0], [64, 0, 32, 2], [2, 2, 8, 4], [512, 8, 16, 0]]) == False
assert is_grid_full([[4, 16, 32, 4], [64, 8, 32, 2], [2, 2, 8, 4], [512, 8, 16, 1024]]) == True assert is_grid_full([[4, 16, 32, 4], [64, 8, 32, 2], [2, 2, 8, 4], [512, 8, 16, 1024]]) == True
...@@ -104,3 +115,27 @@ def test_is_grid_full(): ...@@ -104,3 +115,27 @@ def test_is_grid_full():
def test_move_possible(): def test_move_possible():
assert move_possible([[2, 2, 2, 2], [4, 8, 8, 16], [0, 8, 0, 4], [4, 8, 16,32]]) == [True,True,True,True] assert move_possible([[2, 2, 2, 2], [4, 8, 8, 16], [0, 8, 0, 4], [4, 8, 16,32]]) == [True,True,True,True]
assert move_possible([[2, 4, 8, 16], [16, 8, 4, 2], [2, 4, 8, 16], [16, 8, 4,2]]) == [False,False,False,False] assert move_possible([[2, 4, 8, 16], [16, 8, 4, 2], [2, 4, 8, 16], [16, 8, 4,2]]) == [False,False,False,False]
def test_is_game_over ():
assert is_game_over([[2,4,2,8],[4,2,4,2],[16,32,16,32],[128,64,128,64]])==True
assert is_game_over([[2,4,2,8],[4,2,4,8],[16,32,16,32],[128,64,128,64]])==False
assert is_game_over([[2,4,2,8],[4,2,4,0],[16,32,16,32],[128,64,128,64]])==False
def test_get_grid_tile_max():
assert get_grid_tile_max([[1,2],[0,8]])==8
assert get_grid_tile_max([[2,2,2,2],[2,2,2,2],[2,2,2,2],[2,2,2,2]])==2
assert get_grid_tile_max([[2,2,4,2],[2,2,2,2],[2,2,2,2],[2,2,2,2]])==4
def test_did_you_win ():
assert did_you_win([[2,2048],[8,16]])==True
assert did_you_win([[2,2,2,0],[2,4096,2,2],[2,2,2,2],[2,2,2,2]])==True
assert did_you_win([[2,2,2,1024],[2,128,2,2],[2,2,2,2],[2,2,2,2]])==False
#FONCTIONNALITE 6
def test_list_move_possible():
assert list_move_possible([[2,2,2,2],[2,2,2,2],[2,2,2,2],[2,2,2,2]])==["left","right","up","down"]
assert list_move_possible([[2,4,2,8],[4,2,4,0],[16,32,16,32],[128,64,128,64]])==["right","up","down"]
assert list_move_possible([[2,4,2,4],[4,8,8,8],[16,32,16,32],[128,64,128,64]])==["left","right"]
assert list_move_possible([[2,4,2,8],[4,2,4,2],[16,32,16,32],[128,64,128,64]])==[]
assert list_move_possible([[2,4,2,8],[4,2,4,2],[16,32,16,32],[0,0,0,0]])==["down"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment