Files
pytiled_parser/tests/test_tileset.py
2020-06-04 21:28:34 -04:00

37 lines
1.0 KiB
Python

"""Tests for tilesets"""
import importlib.util
import json
import os
from pathlib import Path
import pytest
from pytiled_parser import tileset
TESTS_DIR = Path(os.path.dirname(os.path.abspath(__file__)))
TEST_DATA = TESTS_DIR / "test_data"
TILE_SETS = TEST_DATA / "tilesets"
ALL_TILESET_DIRS = TILE_SETS.glob("*")
@pytest.mark.parametrize("tileset_dir", ALL_TILESET_DIRS)
def test_tilesets_integration(tileset_dir):
""" This could be redundant, but it is useful just to ensure that anything in there
is at least sanity checked"""
# it's a PITA to import like this, don't do it
# https://stackoverflow.com/a/67692/1342874
spec = importlib.util.spec_from_file_location(
"expected", tileset_dir / "expected.py"
)
expected = importlib.util.module_from_spec(spec)
spec.loader.exec_module(expected)
raw_tileset_path = tileset_dir / "tileset.json"
with open(raw_tileset_path) as raw_tileset:
tileset_ = tileset.cast(json.loads(raw_tileset))
assert tileset_ == expected.EXPECTED