Пример #1
0
        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());
        }