from __future__ import annotations

import importlib.util
import sys
from pathlib import Path

HERE = Path(__file__).parent
SPEC = importlib.util.spec_from_file_location(
    "observer_v3_binding", HERE / "observer_v3.py"
)
assert SPEC and SPEC.loader
m = importlib.util.module_from_spec(SPEC)
sys.modules[SPEC.name] = m
SPEC.loader.exec_module(m)


def test_candidate_verifier_wheel_and_editable_source_parity() -> None:
    m.verify_binding()


def test_wrapper_binds_v3_to_e2f_successor() -> None:
    observer = m.load_observer()
    assert observer.SUCCESSOR == m.SUCCESSOR
    assert observer.CORE == m.CORE
    assert observer.WHEEL == m.WHEEL
    assert observer.SITE == m.SOURCE
