Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

from game2048.grid_2048 import create_grid,grid_add_new_tile,get_value_new_tile,get_all_tiles,get_empty_tiles_positions,grid_get_value,get_new_position, init_game 

from pytest import * 

 

 

 

def test_create_grid(): 

""" 

At the beginning of the 2048 game, the grid is empty 

:return: Test failed or passed 

""" 

assert create_grid(4) == [[' ',' ',' ', ' '],[' ',' ',' ', ' '],[' ',' ',' ', ' '],[' ',' ',' ', ' ']] 

assert create_grid(3) == [[' ',' ',' '],[' ',' ',' '],[' ',' ',' ']] 

 

 

 

def test_get_value_new_tile(): 

assert get_value_new_tile()== 2 or 4 

 

 

def test_get_all_tiles(): 

assert get_all_tiles( [[' ',4,8,2], [' ',' ',' ',' '], [' ',512,32,64], [1024,2048,512, ' ']]) == [0,4,8,2,0,0,0,0,0,512,32,64, 1024,2048,512,0] 

assert get_all_tiles([[16,4,8,2], [2,4,2,128], [4,512,32,64], [1024,2048,512,2]]) == [16, 4, 8, 2, 2, 4, 2, 128, 4, 512, 32, 64, 1024, 2048, 512, 2] 

assert get_all_tiles(create_grid(3))== [0 for i in range(9)] 

 

 

 

 

def test_get_empty_tiles_positions(): 

assert get_empty_tiles_positions([[0, 16, 32, 0], [64, 0, 32, 2], [2, 2, 8, 4], [512, 8, 16, 0]])==[(0,0),(0,3),(1,1),(3,3)] 

assert get_empty_tiles_positions([[' ', 16, 32, 0], [64, 0, 32, 2], [2, 2, 8, 4], [512, 8, 16, 0]])==[(0,0),(0,3),(1,1),(3,3)] 

assert get_empty_tiles_positions(create_grid(2))==[(0,0),(0,1),(1,0),(1,1)] 

assert get_empty_tiles_positions([[16,4,8,2], [2,4,2,128], [4,512,32,64], [1024,2048,512,2]])==[] 

 

 

def test_get_new_position(): 

grid = [[0, 16, 32, 0], [64, 0, 32, 2], [2, 2, 8, 4], [512, 8, 16, 0]] 

x,y=get_new_position(grid) 

assert(grid_get_value(grid,x,y)) == 0 

grid = [[' ',4,8,2], [' ',' ',' ',' '], [' ',512,32,64], [1024,2048,512, ' ']] 

x,y=get_new_position(grid) 

assert(grid_get_value(grid,x,y)) == 0 

 

 

def test_grid_add_new_tile(): 

game_grid=create_grid(4) 

game_grid=grid_add_new_tile(game_grid) 

tiles = get_all_tiles(game_grid) 

assert 2 or 4 in tiles 

 

 

def test_init_game(): 

grid = init_game(4) 

tiles = get_all_tiles(grid) 

assert 2 or 4 in tiles 

assert len(get_empty_tiles_positions(grid)) == 14