-
Notifications
You must be signed in to change notification settings - Fork 113
/
test_EnvironmentCpy.py
136 lines (105 loc) · 4.03 KB
/
test_EnvironmentCpy.py
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# Copyright (c) 2019-2020, RTE (https://www.rte-france.com)
# See AUTHORS.txt
# This Source Code Form is subject to the terms of the Mozilla Public License, version 2.0.
# If a copy of the Mozilla Public License, version 2.0 was not distributed with this file,
# you can obtain one at http://mozilla.org/MPL/2.0/.
# SPDX-License-Identifier: MPL-2.0
# This file is part of Grid2Op, Grid2Op a testbed platform to model sequential decision making in power systems.
# This module will test that the environment, when copied, works as expected (ie with making some basic tests
# for the results of "env.copy()"
import copy
import pdb
import time
import warnings
from grid2op.tests.helper_path_test import *
from grid2op.Reward import L2RPNReward
from grid2op.MakeEnv import make
from grid2op.tests.test_Environment import (
TestLoadingBackendPandaPower as Aux_TestLoadingBackendPandaPower,
TestIllegalAmbiguous as Aux_TestIllegalAmbiguous,
TestOtherReward as Aux_TestOtherReward,
TestResetOk as Aux_TestResetOk,
TestLineChangeLastBus as Aux_TestLineChangeLastBus,
TestResetAfterCascadingFailure as Aux_TestResetAfterCascadingFailure,
TestCascadingFailure as Aux_TestCascadingFailure,
TestLoading2envDontCrash as Aux_TestLoading2envDontCrash,
TestDeactivateForecast as Aux_TestDeactivateForecast,
TestMaxIter as Aux_TestMaxIter,
)
from grid2op.tests.test_Agent import TestAgent as Aux_TestAgent
DEBUG = False
PROFILE_CODE = False
if PROFILE_CODE:
import cProfile
class TestLoadingBackendPandaPowerCopy(Aux_TestLoadingBackendPandaPower):
def setUp(self):
super().setUp()
self.env_orig = self.env
self.env = self.env.copy()
class TestIllegalAmbiguousCopy(Aux_TestIllegalAmbiguous):
def setUp(self):
super().setUp()
self.env_orig = self.env
self.env = self.env.copy()
class TestOtherRewardCopy(Aux_TestOtherReward):
def setUp(self):
super().setUp()
self.env_orig = self.env
self.env = self.env.copy()
class TestResetOkCopy(Aux_TestResetOk):
def setUp(self):
super().setUp()
self.env_orig = self.env
self.env = self.env.copy()
def test_reset_after_blackout_withdetailed_info(self, env=None):
backend = self.make_backend(detailed_infos_for_cascading_failures=True)
if env is None:
with warnings.catch_warnings():
warnings.filterwarnings("ignore")
env = make(
"rte_case5_example",
test=True,
reward_class=L2RPNReward,
other_rewards={"test": L2RPNReward},
backend=backend,
)
super().test_reset_after_blackout_withdetailed_info(env=env.copy())
class TestLineChangeLastBusCopy(Aux_TestLineChangeLastBus):
def setUp(self):
super().setUp()
self.env_orig = self.env
self.env = self.env.copy()
class TestResetAfterCascadingFailureCopy(Aux_TestResetAfterCascadingFailure):
def setUp(self):
super().setUp()
self.env_orig = self.env
self.env = self.env.copy()
class TestCascadingFailureCopy(Aux_TestCascadingFailure):
def setUp(self):
super().setUp()
self.env_orig = self.env
self.env = self.env.copy()
class TestLoading2envDontCrashCopy(Aux_TestLoading2envDontCrash):
def setUp(self):
super().setUp()
self.env1_orig = self.env1
self.env1 = self.env1.copy()
self.env2_orig = self.env2
self.env2 = self.env2.copy()
class TestDeactivateForecastCopy(Aux_TestDeactivateForecast):
def setUp(self):
super().setUp()
self.env1_orig = self.env1
self.env1 = self.env1.copy()
class TestMaxIterCopy(Aux_TestMaxIter):
def setUp(self):
super().setUp()
self.env_orig = self.env
self.env = self.env.copy()
class TestAgentCopy(Aux_TestAgent):
def setUp(self):
super().setUp()
self.env_orig = self.env
self.env = self.env.copy()
if __name__ == "__main__":
unittest.main()