|
"""Configuration for pytest.""" |
|
|
|
import os |
|
from collections.abc import Iterator |
|
|
|
import pandas as pd |
|
import pytest |
|
from _pytest.config import Config |
|
from pandera.typing import DataFrame |
|
from socceraction.atomic.spadl import AtomicSPADLSchema |
|
from socceraction.spadl import SPADLSchema |
|
|
|
|
|
def pytest_configure(config: Config) -> None: |
|
"""Pytest configuration hook.""" |
|
config.addinivalue_line("markers", "e2e: mark as end-to-end test.") |
|
|
|
|
|
@pytest.fixture(scope="session") |
|
def sb_worldcup_data() -> Iterator[pd.HDFStore]: |
|
hdf_file = os.path.join( |
|
os.path.dirname(__file__), "datasets", "statsbomb", "spadl-WorldCup-2018.h5" |
|
) |
|
store = pd.HDFStore(hdf_file, mode="r") |
|
yield store |
|
store.close() |
|
|
|
|
|
@pytest.fixture(scope="session") |
|
def spadl_actions() -> DataFrame[SPADLSchema]: |
|
json_file = os.path.join(os.path.dirname(__file__), "datasets", "spadl", "spadl.json") |
|
return pd.read_json(json_file, orient="records") |
|
|
|
|
|
@pytest.fixture(scope="session") |
|
def atomic_spadl_actions() -> DataFrame[AtomicSPADLSchema]: |
|
json_file = os.path.join(os.path.dirname(__file__), "datasets", "spadl", "atomic_spadl.json") |
|
return pd.read_json(json_file, orient="records") |
|
|