Ejemplo n.º 1
0
        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());
        }