public void DynamicULong() { var rnd = new CryptoRandom(); ulong itemCount = 1_000_000; ulong value = 0; ulong[] values = new ulong[itemCount]; BVector d = new BVector(); for (ulong i = 0; i < itemCount; i++) { value = (ulong)rnd.NextLong(0, long.MaxValue); d.DynamicAdd(value); d.Add1(); values[i] = value; } d.DynamicAdd(ulong.MinValue); d.Add1(); d.DynamicAdd(ulong.MaxValue); for (uint i = 0; i < itemCount; i++) { Assert.AreEqual(values[i], d.DynamicGetULong()); Assert.AreEqual(true, d.Get1()); } Assert.AreEqual(ulong.MinValue, d.DynamicGetULong()); Assert.AreEqual(true, d.Get1()); Assert.AreEqual(ulong.MaxValue, d.DynamicGetULong()); }