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); }
/// <summary> /// Creates new storage /// </summary> /// <param name="bits">Sparse array to use as storage</param> public SparseArrayStorage(ISparseArray <bool> bits) { if (bits.Length <= 0) { throw new ArgumentException("Sparse array must have length > 0", "bits"); } this._bits = bits; }
/// <summary> /// Creates new storage /// </summary> /// <param name="parameters">Parameters</param> public SparseArrayStorage(IBloomFilterParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } if (parameters.NumberOfBits <= 0) { throw new ArgumentException("Number of bits must be > 0", "parameters"); } this._bits = new BlockSparseArray <bool>(parameters.NumberOfBits); }
public void SparseArrayGetSet1(int length) { ISparseArray <int> array = this.CreateInstance(length); Assert.AreEqual(length, array.Length); for (int i = 0, j = 1; i < array.Length; i++, j *= 2) { // Should have default value Assert.AreEqual(default(int), array[i]); // Set only powers of 2 if (i != j) { continue; } array[i] = 1; Assert.AreEqual(1, array[i]); } }
public void SparseArrayEmpty3() { ISparseArray <int> array = this.CreateInstance(0); int i = array[-1]; }
public void SparseArrayEmpty1() { ISparseArray <int> array = this.CreateInstance(0); Assert.AreEqual(0, array.Length); }
public void SparseArrayGetSet3(int length) { ISparseArray <int> array = this.CreateInstance(length); int i = array[length]; }