using System; using System.Collections.Generic; using DotRecast.Core.Collections; using NUnit.Framework; namespace DotRecast.Core.Test; [Parallelizable] public class RcStackArrayTest { public List RandomValues(int size) { var rand = new RcRand(); // excepted values var list = new List(); for (int i = 0; i < size; ++i) { list.Add(rand.NextInt32()); } return list; } [Test] public void TestRcStackArray4() { var values = RandomValues(4); RcStackArray4 array = RcStackArray4.Empty; for (int i = 0; i < array.Length; ++i) { array[i] = values[i]; } for (int i = 0; i < array.Length; ++i) { Assert.That(array[i], Is.EqualTo(values[i])); } Assert.That(array[^1], Is.EqualTo(values[^1])); Assert.Throws(() => array[-1] = 0); Assert.Throws(() => array[array.Length + 1] = 0); Assert.Throws(() => _ = array[-1]); Assert.Throws(() => _ = array[array.Length + 1]); } }