File size: 1,496 Bytes
3eae4cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import importlib
import sys

from app.engine import (
    DayResult as EngineDayResult,
    DaySimulator as EngineDaySimulator,
    LiveSimulationSession as EngineLiveSimulationSession,
    SimulationAgentMode as EngineSimulationAgentMode,
    run_simulation as engine_run_simulation,
)
from app.simulator import (
    DayResult as ShimDayResult,
    DaySimulator as ShimDaySimulator,
    LiveSimulationSession as ShimLiveSimulationSession,
    SimulationAgentMode as ShimSimulationAgentMode,
    run_simulation as shim_run_simulation,
)


def test_simulator_shim_reexports_engine_symbols():
    assert ShimDayResult is EngineDayResult
    assert ShimDaySimulator is EngineDaySimulator
    assert ShimLiveSimulationSession is EngineLiveSimulationSession
    assert ShimSimulationAgentMode is EngineSimulationAgentMode
    assert shim_run_simulation is engine_run_simulation


def test_day_result_has_runtime_fields():
    result = EngineDayResult()
    assert hasattr(result, "digital_arrivals")
    assert hasattr(result, "newly_blocked_missing")
    assert hasattr(result, "newly_unblocked_enrich")


def test_import_env_then_simulator_succeeds():
    for name in ["app.engine", "app.simulator", "app.env"]:
        sys.modules.pop(name, None)

    env_mod = importlib.import_module("app.env")
    sim_mod = importlib.import_module("app.simulator")

    assert hasattr(env_mod, "GovWorkflowEnv")
    assert hasattr(sim_mod, "LiveSimulationSession")
    assert hasattr(sim_mod, "run_simulation")