Coverage for tests/unit/dataset/test_example_validation.py: 100%
35 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-24 00:33 -0600
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-24 00:33 -0600
1import sys
2from pathlib import Path
4import pytest
5from muutils.json_serialize.util import _FORMAT_KEY
7from maze_dataset import MazeDataset, MazeDatasetConfig
9DATASET_PATHS: list[str] = [
10 p.as_posix() for p in Path("docs/examples/datasets").rglob("*.zanj")
11]
14def test_temp():
15 cfg = MazeDatasetConfig(
16 name="test",
17 grid_n=3,
18 n_mazes=2,
19 )
20 print(f"{cfg._fname_loaded = }")
21 cfg_ser = cfg.serialize()
22 print(f"{list(cfg_ser.keys()) = }")
23 print(f"{cfg_ser[_FORMAT_KEY] = }")
24 print(f"{cfg_ser['fname'] = }")
25 cfg_load: MazeDatasetConfig = MazeDatasetConfig.load(cfg_ser)
26 print(f"{cfg.diff(cfg_load) = }")
27 print(f"{cfg_load._fname_loaded = }")
28 assert cfg == cfg_load
31@pytest.mark.parametrize("dataset_path_str", DATASET_PATHS)
32def test_validate_fname(dataset_path_str: str):
33 dataset_path: Path = Path(dataset_path_str)
34 dataset: MazeDataset = MazeDataset.read(dataset_path)
35 dataset_cfg: MazeDatasetConfig = dataset.cfg
36 dataset_fname_path: str = dataset_path.name.removesuffix(".zanj")
37 dataset_fname_loaded: str | None = dataset_cfg._fname_loaded
38 dataset_fname_new: str = dataset_cfg.to_fname()
39 print(f"{dataset_path.as_posix() = }")
40 print(f"{dataset_fname_path = }")
41 print(f"{dataset_fname_loaded = }")
42 print(f"{dataset_fname_new = }")
43 print(f"{dataset_cfg.summary() = }")
44 print(f"{dataset_cfg = }")
45 print(f"{dataset_cfg._stable_str_dump() = }")
47 print(f"{sys.version = }")
49 assert dataset_fname_path == dataset_fname_loaded
50 assert dataset_fname_path == dataset_fname_new