| | using System.Collections.Generic; |
| | using System.Linq; |
| | using NUnit.Framework; |
| | using Unity.MLAgents.Actuators; |
| |
|
| | namespace Unity.MLAgents.Tests.Actuators |
| | { |
| | [TestFixture] |
| | public class ActionSpecTests |
| | { |
| | [Test] |
| | public void ActionSpecCombineTest() |
| | { |
| | var as0 = new ActionSpec(3, new[] { 3, 2, 1 }); |
| | var as1 = new ActionSpec(1, new[] { 35, 122, 1, 3, 8, 3 }); |
| |
|
| | var as0NumCon = 3; |
| | var as0NumDis = as0.NumDiscreteActions; |
| | var as1NumCon = 1; |
| | var as1NumDis = as1.NumDiscreteActions; |
| | var branchSizes = new List<int>(); |
| | branchSizes.AddRange(as0.BranchSizes); |
| | branchSizes.AddRange(as1.BranchSizes); |
| |
|
| | var asc = ActionSpec.Combine(as0, as1); |
| |
|
| | Assert.AreEqual(as0NumCon + as1NumCon, asc.NumContinuousActions); |
| | Assert.AreEqual(as0NumDis + as1NumDis, asc.NumDiscreteActions); |
| | Assert.IsTrue(branchSizes.ToArray().SequenceEqual(asc.BranchSizes)); |
| |
|
| | as0 = new ActionSpec(3); |
| | as1 = new ActionSpec(1); |
| | asc = ActionSpec.Combine(as0, as1); |
| | Assert.IsEmpty(asc.BranchSizes); |
| | } |
| | } |
| | } |
| |
|