5
5
6
6
namespace MLAgents . Tests
7
7
{
8
- public class TestAcademy : Academy
9
- {
10
- public int initializeAcademyCalls ;
11
- public int AcademyStepCalls ;
12
-
13
- public override void InitializeAcademy ( )
14
- {
15
- initializeAcademyCalls += 1 ;
16
- }
17
-
18
- public override void AcademyReset ( )
19
- {
20
- }
21
-
22
- public override void AcademyStep ( )
23
- {
24
- AcademyStepCalls += 1 ;
25
- }
26
- }
27
8
public class TestAgent : Agent
28
9
{
29
10
public int initializeAgentCalls ;
@@ -116,12 +97,12 @@ public void TestAcademy()
116
97
{
117
98
// Use the Assert class to test conditions.
118
99
var acaGo = new GameObject ( "TestAcademy" ) ;
119
- acaGo . AddComponent < TestAcademy > ( ) ;
120
- var aca = acaGo . GetComponent < TestAcademy > ( ) ;
100
+ acaGo . AddComponent < Academy > ( ) ;
101
+ var aca = acaGo . GetComponent < Academy > ( ) ;
121
102
Assert . AreNotEqual ( null , aca ) ;
122
- Assert . AreEqual ( 0 , aca . initializeAcademyCalls ) ;
123
103
Assert . AreEqual ( 0 , aca . GetEpisodeCount ( ) ) ;
124
104
Assert . AreEqual ( 0 , aca . GetStepCount ( ) ) ;
105
+ Assert . AreEqual ( 0 , aca . GetTotalStepCount ( ) ) ;
125
106
}
126
107
127
108
[ Test ]
@@ -141,19 +122,20 @@ public class EditModeTestInitialization
141
122
public void TestAcademy ( )
142
123
{
143
124
var acaGo = new GameObject ( "TestAcademy" ) ;
144
- acaGo . AddComponent < TestAcademy > ( ) ;
145
- var aca = acaGo . GetComponent < TestAcademy > ( ) ;
146
- Assert . AreEqual ( 0 , aca . initializeAcademyCalls ) ;
125
+ acaGo . AddComponent < Academy > ( ) ;
126
+ var aca = acaGo . GetComponent < Academy > ( ) ;
147
127
Assert . AreEqual ( 0 , aca . GetStepCount ( ) ) ;
148
128
Assert . AreEqual ( 0 , aca . GetEpisodeCount ( ) ) ;
129
+ Assert . AreEqual ( 0 , aca . GetTotalStepCount ( ) ) ;
130
+ Assert . AreEqual ( null , aca . FloatProperties ) ;
149
131
//This will call the method even though it is private
150
132
var academyInitializeMethod = typeof ( Academy ) . GetMethod ( "InitializeEnvironment" ,
151
133
BindingFlags . Instance | BindingFlags . NonPublic ) ;
152
134
academyInitializeMethod ? . Invoke ( aca , new object [ ] { } ) ;
153
- Assert . AreEqual ( 1 , aca . initializeAcademyCalls ) ;
154
135
Assert . AreEqual ( 0 , aca . GetEpisodeCount ( ) ) ;
155
136
Assert . AreEqual ( 0 , aca . GetStepCount ( ) ) ;
156
- Assert . AreEqual ( 0 , aca . AcademyStepCalls ) ;
137
+ Assert . AreEqual ( 0 , aca . GetTotalStepCount ( ) ) ;
138
+ Assert . AreNotEqual ( null , aca . FloatProperties ) ;
157
139
}
158
140
159
141
[ Test ]
@@ -166,8 +148,8 @@ public void TestAgent()
166
148
agentGo2 . AddComponent < TestAgent > ( ) ;
167
149
var agent2 = agentGo2 . GetComponent < TestAgent > ( ) ;
168
150
var acaGo = new GameObject ( "TestAcademy" ) ;
169
- acaGo . AddComponent < TestAcademy > ( ) ;
170
- var aca = acaGo . GetComponent < TestAcademy > ( ) ;
151
+ acaGo . AddComponent < Academy > ( ) ;
152
+ var aca = acaGo . GetComponent < Academy > ( ) ;
171
153
172
154
Assert . AreEqual ( false , agent1 . IsDone ( ) ) ;
173
155
Assert . AreEqual ( false , agent2 . IsDone ( ) ) ;
@@ -211,8 +193,8 @@ public class EditModeTestStep
211
193
public void TestAcademy ( )
212
194
{
213
195
var acaGo = new GameObject ( "TestAcademy" ) ;
214
- acaGo . AddComponent < TestAcademy > ( ) ;
215
- var aca = acaGo . GetComponent < TestAcademy > ( ) ;
196
+ acaGo . AddComponent < Academy > ( ) ;
197
+ var aca = acaGo . GetComponent < Academy > ( ) ;
216
198
var academyInitializeMethod = typeof ( Academy ) . GetMethod ( "InitializeEnvironment" ,
217
199
BindingFlags . Instance | BindingFlags . NonPublic ) ;
218
200
academyInitializeMethod ? . Invoke ( aca , new object [ ] { } ) ;
@@ -223,10 +205,8 @@ public void TestAcademy()
223
205
var numberReset = 0 ;
224
206
for ( var i = 0 ; i < 10 ; i ++ )
225
207
{
226
- Assert . AreEqual ( 1 , aca . initializeAcademyCalls ) ;
227
208
Assert . AreEqual ( numberReset , aca . GetEpisodeCount ( ) ) ;
228
209
Assert . AreEqual ( i , aca . GetStepCount ( ) ) ;
229
- Assert . AreEqual ( i , aca . AcademyStepCalls ) ;
230
210
231
211
// The reset happens at the beginning of the first step
232
212
if ( i == 0 )
@@ -247,8 +227,8 @@ public void TestAgent()
247
227
agentGo2 . AddComponent < TestAgent > ( ) ;
248
228
var agent2 = agentGo2 . GetComponent < TestAgent > ( ) ;
249
229
var acaGo = new GameObject ( "TestAcademy" ) ;
250
- acaGo . AddComponent < TestAcademy > ( ) ;
251
- var aca = acaGo . GetComponent < TestAcademy > ( ) ;
230
+ acaGo . AddComponent < Academy > ( ) ;
231
+ var aca = acaGo . GetComponent < Academy > ( ) ;
252
232
253
233
254
234
var agentEnableMethod = typeof ( Agent ) . GetMethod (
@@ -324,8 +304,8 @@ public class EditModeTestReset
324
304
public void TestAcademy ( )
325
305
{
326
306
var acaGo = new GameObject ( "TestAcademy" ) ;
327
- acaGo . AddComponent < TestAcademy > ( ) ;
328
- var aca = acaGo . GetComponent < TestAcademy > ( ) ;
307
+ acaGo . AddComponent < Academy > ( ) ;
308
+ var aca = acaGo . GetComponent < Academy > ( ) ;
329
309
var academyInitializeMethod = typeof ( Academy ) . GetMethod (
330
310
"InitializeEnvironment" , BindingFlags . Instance | BindingFlags . NonPublic ) ;
331
311
academyInitializeMethod ? . Invoke ( aca , new object [ ] { } ) ;
@@ -338,9 +318,8 @@ public void TestAcademy()
338
318
for ( var i = 0 ; i < 50 ; i ++ )
339
319
{
340
320
Assert . AreEqual ( stepsSinceReset , aca . GetStepCount ( ) ) ;
341
- Assert . AreEqual ( 1 , aca . initializeAcademyCalls ) ;
342
321
Assert . AreEqual ( numberReset , aca . GetEpisodeCount ( ) ) ;
343
- Assert . AreEqual ( i , aca . AcademyStepCalls ) ;
322
+ Assert . AreEqual ( i , aca . GetTotalStepCount ( ) ) ;
344
323
// Academy resets at the first step
345
324
if ( i == 0 )
346
325
{
@@ -362,8 +341,8 @@ public void TestAgent()
362
341
agentGo2 . AddComponent < TestAgent > ( ) ;
363
342
var agent2 = agentGo2 . GetComponent < TestAgent > ( ) ;
364
343
var acaGo = new GameObject ( "TestAcademy" ) ;
365
- acaGo . AddComponent < TestAcademy > ( ) ;
366
- var aca = acaGo . GetComponent < TestAcademy > ( ) ;
344
+ acaGo . AddComponent < Academy > ( ) ;
345
+ var aca = acaGo . GetComponent < Academy > ( ) ;
367
346
368
347
369
348
var agentEnableMethod = typeof ( Agent ) . GetMethod (
@@ -393,10 +372,9 @@ public void TestAgent()
393
372
for ( var i = 0 ; i < 5000 ; i ++ )
394
373
{
395
374
Assert . AreEqual ( acaStepsSinceReset , aca . GetStepCount ( ) ) ;
396
- Assert . AreEqual ( 1 , aca . initializeAcademyCalls ) ;
397
375
Assert . AreEqual ( numberAcaReset , aca . GetEpisodeCount ( ) ) ;
398
376
399
- Assert . AreEqual ( i , aca . AcademyStepCalls ) ;
377
+ Assert . AreEqual ( i , aca . GetTotalStepCount ( ) ) ;
400
378
401
379
Assert . AreEqual ( agent2StepSinceReset , agent2 . GetStepCount ( ) ) ;
402
380
Assert . AreEqual ( numberAgent1Reset , agent1 . agentResetCalls ) ;
@@ -467,8 +445,8 @@ public void TestResetOnDone()
467
445
agentGo2 . AddComponent < TestAgent > ( ) ;
468
446
var agent2 = agentGo2 . GetComponent < TestAgent > ( ) ;
469
447
var acaGo = new GameObject ( "TestAcademy" ) ;
470
- acaGo . AddComponent < TestAcademy > ( ) ;
471
- var aca = acaGo . GetComponent < TestAcademy > ( ) ;
448
+ acaGo . AddComponent < Academy > ( ) ;
449
+ var aca = acaGo . GetComponent < Academy > ( ) ;
472
450
473
451
474
452
var agentEnableMethod = typeof ( Agent ) . GetMethod (
@@ -503,7 +481,7 @@ public void TestResetOnDone()
503
481
504
482
for ( var i = 0 ; i < 50 ; i ++ )
505
483
{
506
- Assert . AreEqual ( i , aca . AcademyStepCalls ) ;
484
+ Assert . AreEqual ( i , aca . GetTotalStepCount ( ) ) ;
507
485
508
486
Assert . AreEqual ( agent1StepSinceReset , agent1 . GetStepCount ( ) ) ;
509
487
Assert . AreEqual ( agent2StepSinceReset , agent2 . GetStepCount ( ) ) ;
@@ -543,8 +521,8 @@ public void TestCumulativeReward()
543
521
agentGo2 . AddComponent < TestAgent > ( ) ;
544
522
var agent2 = agentGo2 . GetComponent < TestAgent > ( ) ;
545
523
var acaGo = new GameObject ( "TestAcademy" ) ;
546
- acaGo . AddComponent < TestAcademy > ( ) ;
547
- var aca = acaGo . GetComponent < TestAcademy > ( ) ;
524
+ acaGo . AddComponent < Academy > ( ) ;
525
+ var aca = acaGo . GetComponent < Academy > ( ) ;
548
526
549
527
550
528
var agentEnableMethod = typeof ( Agent ) . GetMethod (
0 commit comments