import json
import os
from pathlib import Path
import pytest
REPO = Path(__file__).resolve().parents[2]
NOTEBOOKS = ["vessel-trust-and-training", "interference-map-route-exposure",
"compliance-and-test-bench"]
@pytest.mark.parametrize("name", NOTEBOOKS)
def test_notebook_code_cells_run(name, monkeypatch):
nb = json.loads((REPO / "notebooks" / f"{name}.ipynb").read_text())
monkeypatch.chdir(REPO)
env: dict = {"__name__": "__notebook__"}
for i, cell in enumerate(nb["cells"]):
if cell["cell_type"] != "code":
continue
exec(compile("".join(cell["source"]), f"{name}[cell {i}]", "exec"), env)
assert os.getcwd() == str(REPO)