def test_reset_seq(self): mme = MultiMixEnvironment(PATH_DATA_MULTIMIX) for i in range(2): assert i == mme.current_index mme.reset() assert mme.current_obs is not None assert mme.current_env is not None
def test_reset_with_params(self): p = Parameters() p.MAX_SUB_CHANGED = 666 mme = MultiMixEnvironment(PATH_DATA_MULTIMIX, param=p) mme.reset() assert mme.current_obs is not None assert mme.current_env is not None assert mme.parameters.MAX_SUB_CHANGED == 666
def test_reset_with_opponent(self): mme = MultiMixEnvironment(PATH_DATA_MULTIMIX, opponent_class=BaseOpponent, opponent_init_budget=42.0, opponent_budget_per_ts=0.42) mme.reset() assert mme.current_obs is not None assert mme.current_env is not None assert mme._opponent_class == BaseOpponent assert mme._opponent_init_budget == dt_float(42.0) assert mme._opponent_budget_per_ts == dt_float(0.42)
def test_reset_with_backend(self): class DummyBackend3(PandaPowerBackend): def __init__(self): super().__init__() self._dummy = -1 def reset(self, grid_path=None, grid_filename=None): self._dummy = 1 def dummy(self): return self._dummy mme = MultiMixEnvironment(PATH_DATA_MULTIMIX, backend=DummyBackend3()) mme.reset() assert mme.current_env.backend.dummy() == 1
def test_reset_with_other_rewards(self): p = Parameters() p.NO_OVERFLOW_DISCONNECTION = True oth_r = { "game": GameplayReward, "l2rpn": L2RPNReward, } mme = MultiMixEnvironment(PATH_DATA_MULTIMIX, param=p, other_rewards=oth_r) mme.reset() assert mme.current_obs is not None assert mme.current_env is not None o, r, d, i = mme.step(mme.action_space({})) assert i is not None assert "rewards" in i assert "game" in i["rewards"] assert "l2rpn" in i["rewards"]
def test_forecast_toggle(self): mme = MultiMixEnvironment(PATH_DATA_MULTIMIX) dn = mme.action_space({}) # Forecast off mme.deactivate_forecast() # Step once obs, _, _ , _ = mme.step(dn) # Cant simulate with self.assertRaises(NoForecastAvailable): obs.simulate(dn) # Forecast ON mme.reactivate_forecast() # Reset, step once mme.reset() obs, _, _ , _ = mme.step(dn) # Can simulate obs, r, done, info = obs.simulate(dn) assert obs is not None assert r is not None assert isinstance(info, dict) assert done is not True
def test_reset_random(self): mme = MultiMixEnvironment(PATH_DATA_MULTIMIX) for i in range(2): mme.reset(random=True) assert mme.current_obs is not None assert mme.current_env is not None
def test_reset(self): mme = MultiMixEnvironment(PATH_DATA_MULTIMIX) mme.reset() assert mme.current_obs is not None assert mme.current_env is not None