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