| | using System; |
| | using NUnit.Framework; |
| | using Unity.MLAgents.Actuators; |
| |
|
| | namespace Unity.MLAgents.Tests.Actuators |
| | { |
| | [TestFixture] |
| | public class ActionSegmentTests |
| | { |
| | [Test] |
| | public void TestConstruction() |
| | { |
| | var floatArray = new[] { 1f, 2f, 3f, 4f, 5f, 6f, 7f }; |
| | Assert.Throws<ArgumentOutOfRangeException>( |
| | () => new ActionSegment<float>(floatArray, 100, 1)); |
| |
|
| | var segment = new ActionSegment<float>(Array.Empty<float>(), 0, 0); |
| | Assert.AreEqual(segment, ActionSegment<float>.Empty); |
| | } |
| |
|
| | [Test] |
| | public void TestIndexing() |
| | { |
| | var floatArray = new[] { 1f, 2f, 3f, 4f, 5f, 6f, 7f }; |
| | for (var i = 0; i < floatArray.Length; i++) |
| | { |
| | var start = 0 + i; |
| | var length = floatArray.Length - i; |
| | var actionSegment = new ActionSegment<float>(floatArray, start, length); |
| | for (var j = 0; j < actionSegment.Length; j++) |
| | { |
| | Assert.AreEqual(actionSegment[j], floatArray[start + j]); |
| | } |
| | } |
| | } |
| |
|
| | [Test] |
| | public void TestEnumerator() |
| | { |
| | var floatArray = new[] { 1f, 2f, 3f, 4f, 5f, 6f, 7f }; |
| | for (var i = 0; i < floatArray.Length; i++) |
| | { |
| | var start = 0 + i; |
| | var length = floatArray.Length - i; |
| | var actionSegment = new ActionSegment<float>(floatArray, start, length); |
| | var j = 0; |
| | foreach (var item in actionSegment) |
| | { |
| | Assert.AreEqual(item, floatArray[start + j++]); |
| | } |
| | } |
| | } |
| |
|
| | [Test] |
| | public void TestNullConstructor() |
| | { |
| | var actionSegment = new ActionSegment<float>(null); |
| | Assert.IsTrue(actionSegment.Length == 0); |
| | Assert.IsTrue(actionSegment.Array == Array.Empty<float>()); |
| | } |
| | } |
| | } |
| |
|