From a1e1a17c2a9fe87099b8bfcd9e3c3c0eab3bc408 Mon Sep 17 00:00:00 2001 From: Nick Todd Date: Fri, 2 Aug 2024 12:49:17 +0100 Subject: [PATCH] #2777: Add RNG test --- .../game_layer/test_RNG_seed.py | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/integration_tests/game_layer/test_RNG_seed.py diff --git a/tests/integration_tests/game_layer/test_RNG_seed.py b/tests/integration_tests/game_layer/test_RNG_seed.py new file mode 100644 index 00000000..c1bb7bb0 --- /dev/null +++ b/tests/integration_tests/game_layer/test_RNG_seed.py @@ -0,0 +1,43 @@ +from primaite.config.load import data_manipulation_config_path +from primaite.session.environment import PrimaiteGymEnv +from primaite.game.agent.interface import AgentHistoryItem +import yaml +from pprint import pprint +import pytest + +@pytest.fixture() +def create_env(): + with open(data_manipulation_config_path(), 'r') as f: + cfg = yaml.safe_load(f) + + env = PrimaiteGymEnv(env_config = cfg) + return env + +def test_rng_seed_set(create_env): + env = create_env + env.reset(seed=3) + for i in range(100): + env.step(0) + a = [item.timestep for item in env.game.agents['client_2_green_user'].history if item.action!="DONOTHING"] + + env.reset(seed=3) + for i in range(100): + env.step(0) + b = [item.timestep for item in env.game.agents['client_2_green_user'].history if item.action!="DONOTHING"] + + assert a==b + +def test_rng_seed_unset(create_env): + env = create_env + env.reset() + for i in range(100): + env.step(0) + a = [item.timestep for item in env.game.agents['client_2_green_user'].history if item.action!="DONOTHING"] + + env.reset() + for i in range(100): + env.step(0) + b = [item.timestep for item in env.game.agents['client_2_green_user'].history if item.action!="DONOTHING"] + + assert a!=b +