generated from dopt-python/py311
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
import os
|
|
import shutil
|
|
from pathlib import Path
|
|
from unittest.mock import patch
|
|
|
|
import pytest
|
|
|
|
from dopt_sensor_anomalies.constants import MODEL_FOLDER_NAME
|
|
|
|
|
|
@pytest.fixture(scope="session", autouse=True)
|
|
def setup_temp_dir(tmp_path_factory):
|
|
tmp_dir = tmp_path_factory.mktemp("root")
|
|
folder_structure = "lib/folder"
|
|
pth = tmp_dir / folder_structure
|
|
pth.mkdir(parents=True, exist_ok=True)
|
|
# models
|
|
pth_models = tmp_dir / MODEL_FOLDER_NAME
|
|
pth_models.mkdir(parents=True, exist_ok=True)
|
|
_root_imgs = (Path(__file__).parent / "_models").glob("*.pth")
|
|
for model in _root_imgs:
|
|
dst = pth_models / model.name
|
|
shutil.copy(model, dst)
|
|
# images
|
|
pth_img = tmp_dir / "images"
|
|
pth_img.mkdir(parents=True, exist_ok=True)
|
|
_root_imgs = (Path(__file__).parent / "_img").glob("**/*.bmp")
|
|
for img in _root_imgs:
|
|
dst = pth_img / img.name
|
|
shutil.copy(img, dst)
|
|
|
|
with patch("dopt_sensor_anomalies._find_paths.LIB_ROOT_PATH", pth):
|
|
yield tmp_dir
|
|
|
|
|
|
@pytest.fixture(scope="session", autouse=True)
|
|
def results_folder(setup_temp_dir) -> Path:
|
|
if os.getenv("DOPT_WRITE_RESULTS", False):
|
|
results_base = Path(__file__).parent
|
|
else:
|
|
results_base = setup_temp_dir
|
|
results = results_base / "_results"
|
|
if not results.exists():
|
|
results.mkdir()
|
|
|
|
return results
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def path_img_with_failure_ElectrodeCount(setup_temp_dir) -> Path:
|
|
filename = "window_15_fail_electrode.bmp"
|
|
pth_img = setup_temp_dir / f"images/{filename}"
|
|
assert pth_img.exists(), "failure image not existing"
|
|
return pth_img
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
def path_img_with_failure_TrainedModel(setup_temp_dir) -> Path:
|
|
filename = "window_19_fail_model.bmp"
|
|
pth_img = setup_temp_dir / f"images/{filename}"
|
|
assert pth_img.exists(), "failure image not existing"
|
|
return pth_img
|