public void SparseArrayEnumerator3(int length) { Assert.AreNotEqual(default(int), 1); // Completely filled array ISparseArray <int> array = this.CreateInstance(length); Assert.AreEqual(length, array.Length); int[] actualArray = new int[length]; for (int i = 0; i < array.Length; i++) { // Should have default value Assert.AreEqual(default(int), array[i]); // Set all entries array[i] = 1; actualArray[i] = 1; Assert.AreEqual(1, array[i]); } IEnumerator <int> sparsEnumerator = array.GetEnumerator(); IEnumerator actualEnumerator = actualArray.GetEnumerator(); int index = -1; while (actualEnumerator.MoveNext()) { index++; Assert.IsTrue(sparsEnumerator.MoveNext(), "Unable to move next at index " + index); Assert.AreEqual(actualEnumerator.Current, sparsEnumerator.Current, "Incorrect value at index " + index); } Assert.AreEqual(length - 1, index); }
public void SparseArrayEnumerator2(int length) { Assert.AreNotEqual(default(int), 1); // Completely sparse array i.e. no actual data ISparseArray <int> array = this.CreateInstance(length); Assert.AreEqual(length, array.Length); for (int i = 0; i < array.Length; i++) { // Should have default value Assert.AreEqual(default(int), array[i]); } IEnumerator <int> enumerator = array.GetEnumerator(); int index = -1; while (enumerator.MoveNext()) { index++; Assert.AreEqual(default(int), enumerator.Current, "Incorrect value at index " + index); } Assert.AreEqual(length - 1, index); }