Coverage for tests\unit\maze_dataset\generation\test_solved_maze.py: 79%

14 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-02-23 12:49 -0700

1from pytest import mark, param 

2 

3from maze_dataset import SolvedMaze 

4from maze_dataset.generation.generators import get_maze_with_solution 

5from maze_dataset.testing_utils import LEGACY_AND_EQUIVALENT_TOKENIZERS 

6from maze_dataset.tokenization import MazeTokenizer, MazeTokenizerModular 

7 

8 

9@mark.parametrize( 

10 "tokenizer", 

11 [ 

12 param(tokenizer, id=tokenizer.name) 

13 for tokenizer in LEGACY_AND_EQUIVALENT_TOKENIZERS 

14 ], 

15) 

16def test_from_tokens(tokenizer: MazeTokenizer | MazeTokenizerModular): 

17 maze_size: int = 2 

18 solved_maze: SolvedMaze = get_maze_with_solution("gen_dfs", (maze_size, maze_size)) 

19 

20 tokenized_maze: list[str] = solved_maze.as_tokens(tokenizer) 

21 

22 solved_maze_rt: SolvedMaze = SolvedMaze.from_tokens(tokenized_maze, tokenizer) 

23 assert solved_maze == solved_maze_rt, ( 

24 f"solved_maze: {solved_maze}, solved_maze_rt: {solved_maze_rt}" 

25 ) 

26 assert (solved_maze.connection_list == solved_maze_rt.connection_list).all(), ( 

27 f"solved_maze.connection_list: {solved_maze.connection_list}, solved_maze_rt.connection_list: {solved_maze_rt.connection_list}" 

28 ) 

29 assert (solved_maze.solution == solved_maze_rt.solution).all(), ( 

30 f"solved_maze.solution: {solved_maze.solution}, solved_maze_rt.solution: {solved_maze_rt.solution}" 

31 )