Skip to content

Commit f389e85

Browse files
author
Chris Elion
authored
Don't inherit from Academy, remove virtual methods (#3184)
1 parent bf12f06 commit f389e85

File tree

76 files changed

+6781
-7021
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+6781
-7021
lines changed

UnitySDK/Assets/ML-Agents/Editor/Tests/DemonstrationTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ public void TestAgentWrite()
9191
demoRecorder.InitializeDemoStore(fileSystem);
9292

9393
var acaGo = new GameObject("TestAcademy");
94-
acaGo.AddComponent<TestAcademy>();
95-
var aca = acaGo.GetComponent<TestAcademy>();
94+
acaGo.AddComponent<Academy>();
95+
var aca = acaGo.GetComponent<Academy>();
9696

9797
var academyInitializeMethod = typeof(Academy).GetMethod("InitializeEnvironment",
9898
BindingFlags.Instance | BindingFlags.NonPublic);

UnitySDK/Assets/ML-Agents/Editor/Tests/EditModeTestInternalBrainTensorGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ public class EditModeTestInternalBrainTensorGenerator
1313
static IEnumerable<Agent> GetFakeAgents()
1414
{
1515
var acaGo = new GameObject("TestAcademy");
16-
acaGo.AddComponent<TestAcademy>();
17-
var aca = acaGo.GetComponent<TestAcademy>();
16+
acaGo.AddComponent<Academy>();
17+
var aca = acaGo.GetComponent<Academy>();
1818

1919
var goA = new GameObject("goA");
2020
var bpA = goA.AddComponent<BehaviorParameters>();

UnitySDK/Assets/ML-Agents/Editor/Tests/MLAgentsEditModeTest.cs

Lines changed: 26 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,6 @@
55

66
namespace MLAgents.Tests
77
{
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-
}
278
public class TestAgent : Agent
289
{
2910
public int initializeAgentCalls;
@@ -116,12 +97,12 @@ public void TestAcademy()
11697
{
11798
// Use the Assert class to test conditions.
11899
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>();
121102
Assert.AreNotEqual(null, aca);
122-
Assert.AreEqual(0, aca.initializeAcademyCalls);
123103
Assert.AreEqual(0, aca.GetEpisodeCount());
124104
Assert.AreEqual(0, aca.GetStepCount());
105+
Assert.AreEqual(0, aca.GetTotalStepCount());
125106
}
126107

127108
[Test]
@@ -141,19 +122,20 @@ public class EditModeTestInitialization
141122
public void TestAcademy()
142123
{
143124
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>();
147127
Assert.AreEqual(0, aca.GetStepCount());
148128
Assert.AreEqual(0, aca.GetEpisodeCount());
129+
Assert.AreEqual(0, aca.GetTotalStepCount());
130+
Assert.AreEqual(null, aca.FloatProperties);
149131
//This will call the method even though it is private
150132
var academyInitializeMethod = typeof(Academy).GetMethod("InitializeEnvironment",
151133
BindingFlags.Instance | BindingFlags.NonPublic);
152134
academyInitializeMethod?.Invoke(aca, new object[] { });
153-
Assert.AreEqual(1, aca.initializeAcademyCalls);
154135
Assert.AreEqual(0, aca.GetEpisodeCount());
155136
Assert.AreEqual(0, aca.GetStepCount());
156-
Assert.AreEqual(0, aca.AcademyStepCalls);
137+
Assert.AreEqual(0, aca.GetTotalStepCount());
138+
Assert.AreNotEqual(null, aca.FloatProperties);
157139
}
158140

159141
[Test]
@@ -166,8 +148,8 @@ public void TestAgent()
166148
agentGo2.AddComponent<TestAgent>();
167149
var agent2 = agentGo2.GetComponent<TestAgent>();
168150
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>();
171153

172154
Assert.AreEqual(false, agent1.IsDone());
173155
Assert.AreEqual(false, agent2.IsDone());
@@ -211,8 +193,8 @@ public class EditModeTestStep
211193
public void TestAcademy()
212194
{
213195
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>();
216198
var academyInitializeMethod = typeof(Academy).GetMethod("InitializeEnvironment",
217199
BindingFlags.Instance | BindingFlags.NonPublic);
218200
academyInitializeMethod?.Invoke(aca, new object[] { });
@@ -223,10 +205,8 @@ public void TestAcademy()
223205
var numberReset = 0;
224206
for (var i = 0; i < 10; i++)
225207
{
226-
Assert.AreEqual(1, aca.initializeAcademyCalls);
227208
Assert.AreEqual(numberReset, aca.GetEpisodeCount());
228209
Assert.AreEqual(i, aca.GetStepCount());
229-
Assert.AreEqual(i, aca.AcademyStepCalls);
230210

231211
// The reset happens at the beginning of the first step
232212
if (i == 0)
@@ -247,8 +227,8 @@ public void TestAgent()
247227
agentGo2.AddComponent<TestAgent>();
248228
var agent2 = agentGo2.GetComponent<TestAgent>();
249229
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>();
252232

253233

254234
var agentEnableMethod = typeof(Agent).GetMethod(
@@ -324,8 +304,8 @@ public class EditModeTestReset
324304
public void TestAcademy()
325305
{
326306
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>();
329309
var academyInitializeMethod = typeof(Academy).GetMethod(
330310
"InitializeEnvironment", BindingFlags.Instance | BindingFlags.NonPublic);
331311
academyInitializeMethod?.Invoke(aca, new object[] { });
@@ -338,9 +318,8 @@ public void TestAcademy()
338318
for (var i = 0; i < 50; i++)
339319
{
340320
Assert.AreEqual(stepsSinceReset, aca.GetStepCount());
341-
Assert.AreEqual(1, aca.initializeAcademyCalls);
342321
Assert.AreEqual(numberReset, aca.GetEpisodeCount());
343-
Assert.AreEqual(i, aca.AcademyStepCalls);
322+
Assert.AreEqual(i, aca.GetTotalStepCount());
344323
// Academy resets at the first step
345324
if (i == 0)
346325
{
@@ -362,8 +341,8 @@ public void TestAgent()
362341
agentGo2.AddComponent<TestAgent>();
363342
var agent2 = agentGo2.GetComponent<TestAgent>();
364343
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>();
367346

368347

369348
var agentEnableMethod = typeof(Agent).GetMethod(
@@ -393,10 +372,9 @@ public void TestAgent()
393372
for (var i = 0; i < 5000; i++)
394373
{
395374
Assert.AreEqual(acaStepsSinceReset, aca.GetStepCount());
396-
Assert.AreEqual(1, aca.initializeAcademyCalls);
397375
Assert.AreEqual(numberAcaReset, aca.GetEpisodeCount());
398376

399-
Assert.AreEqual(i, aca.AcademyStepCalls);
377+
Assert.AreEqual(i, aca.GetTotalStepCount());
400378

401379
Assert.AreEqual(agent2StepSinceReset, agent2.GetStepCount());
402380
Assert.AreEqual(numberAgent1Reset, agent1.agentResetCalls);
@@ -467,8 +445,8 @@ public void TestResetOnDone()
467445
agentGo2.AddComponent<TestAgent>();
468446
var agent2 = agentGo2.GetComponent<TestAgent>();
469447
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>();
472450

473451

474452
var agentEnableMethod = typeof(Agent).GetMethod(
@@ -503,7 +481,7 @@ public void TestResetOnDone()
503481

504482
for (var i = 0; i < 50; i++)
505483
{
506-
Assert.AreEqual(i, aca.AcademyStepCalls);
484+
Assert.AreEqual(i, aca.GetTotalStepCount());
507485

508486
Assert.AreEqual(agent1StepSinceReset, agent1.GetStepCount());
509487
Assert.AreEqual(agent2StepSinceReset, agent2.GetStepCount());
@@ -543,8 +521,8 @@ public void TestCumulativeReward()
543521
agentGo2.AddComponent<TestAgent>();
544522
var agent2 = agentGo2.GetComponent<TestAgent>();
545523
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>();
548526

549527

550528
var agentEnableMethod = typeof(Agent).GetMethod(

0 commit comments

Comments
 (0)