"""C8 FC Adapter smoke test — AC-9 (legacy) + AZ-390 public-API gate."""


def test_interface_importable() -> None:
    # Assert
    from gps_denied_onboard.components.c8_fc_adapter import (
        EmittedExternalPosition,
        FcAdapter,
        GcsAdapter,
        ReplaySink,
    )

    for sym in (FcAdapter, GcsAdapter, ReplaySink, EmittedExternalPosition):
        assert sym is not None


def test_internal_modules_not_in_public_all() -> None:
    """AZ-390 AC-8: only the contract symbols appear in ``__all__``."""
    # Arrange
    from gps_denied_onboard.components import c8_fc_adapter

    # Assert
    assert set(c8_fc_adapter.__all__) == {
        "EmittedExternalPosition",
        "FcAdapter",
        "GcsAdapter",
        "ReplaySink",
    }
