public void UnmanagedArray_BasicAccess() { int size = 256; var testArray = new UnmanagedArray <int>(size, true); var baselineArray = Enumerable.Range(0, size).ToArray(); // test creation Assert.AreEqual(0, testArray.Sum()); // test copy testArray.Copy(baselineArray); Assert.AreEqual(size * (size - 1) / 2, testArray.Sum()); Assert.IsTrue(this.AreIdentical(testArray, baselineArray)); // test set one value int index = 11; testArray[index] = 1024; Assert.AreEqual(1024, testArray[index]); Assert.IsTrue(this.AreIdentical(testArray.Skip(index + 1), baselineArray.Skip(index + 1))); Assert.IsFalse(this.AreIdentical(testArray, baselineArray)); // test get one value baselineArray[index] = testArray[index]; Assert.IsTrue(this.AreIdentical(testArray, baselineArray)); // test clear testArray.Clear(); Assert.AreEqual(0, testArray.Sum()); }
public void UnmanagedArray_Resize() { int size = 256; var testArray = new UnmanagedArray <int>(size, true); var baselineArray = Enumerable.Range(0, size).ToArray(); testArray.Copy(baselineArray); Assert.IsTrue(this.AreIdentical(testArray, baselineArray)); Assert.AreEqual(baselineArray.Sum(), testArray.Sum()); testArray.Resize(size + 10, true); Assert.AreEqual(baselineArray.Sum(), testArray.Sum()); Assert.IsTrue(this.AreIdentical(testArray.Take(size), baselineArray)); }