idea144-crossvenuearbx-fede.../tests/test_delta_fuzz.py

34 lines
1.0 KiB
Python

from crossvenue_arbx.fuzz import ScenarioGenerator, ReplayRunner
def test_replay_determinism_same_seed():
gen = ScenarioGenerator(seed=42)
events = gen.generate(steps=20)
runner1 = ReplayRunner()
log1, final1 = runner1.run(events)
runner2 = ReplayRunner()
# regenerate to ensure fresh objects but same seed
gen2 = ScenarioGenerator(seed=42)
events2 = gen2.generate(steps=20)
log2, final2 = runner2.run(events2)
assert log1 == log2, "Replay logs must be identical for same seed"
assert final1 == final2, "Final plan signature must match for same seed"
def test_replay_variation_different_seed():
gen = ScenarioGenerator(seed=1)
events = gen.generate(steps=20)
runner = ReplayRunner()
log1, final1 = runner.run(events)
genb = ScenarioGenerator(seed=2)
eventsb = genb.generate(steps=20)
runnerb = ReplayRunner()
log2, final2 = runnerb.run(eventsb)
# usually different seeds will produce different logs or final plan
assert (log1 != log2) or (final1 != final2)