예제 #1
0
        public void DynamicUShort()
        {
            var    rnd       = new CryptoRandom();
            int    itemCount = ushort.MaxValue;
            ushort value     = 0;

            ushort[] values = new ushort[itemCount];
            BVector  d      = new BVector();

            for (uint i = 0; i < itemCount; i++)
            {
                value = (ushort)rnd.NextLong(0, ushort.MaxValue);
                d.DynamicAdd(value);
                d.Add1();
                values[i] = value;
            }
            d.DynamicAdd(ushort.MinValue);
            d.Add1();
            d.DynamicAdd(ushort.MaxValue);

            for (uint i = 0; i < itemCount; i++)
            {
                Assert.AreEqual(values[i], d.DynamicGetUShort());
                Assert.AreEqual(true, d.Get1());
            }
            Assert.AreEqual(ushort.MinValue, d.DynamicGetUShort());
            Assert.AreEqual(true, d.Get1());
            Assert.AreEqual(ushort.MaxValue, d.DynamicGetUShort());
        }