from inferscale.models import SimulationConfig from inferscale.workloads import generate_workload def test_workload_is_deterministic(): cfg = SimulationConfig(seed=42, duration_s=10, request_rate_rps=2) a = generate_workload(cfg) b = generate_workload(cfg) assert [(r.arrival_time, r.prompt_tokens, r.output_tokens) for r in a] == [ (r.arrival_time, r.prompt_tokens, r.output_tokens) for r in b ] def test_constant_arrivals(): cfg = SimulationConfig(arrival_process="constant", duration_s=2, request_rate_rps=2) reqs = generate_workload(cfg) assert [round(r.arrival_time, 3) for r in reqs] == [0.0, 0.5, 1.0, 1.5]