public void DynamicShort()
        {
            var   rnd   = new CryptoRandom();
            short value = 0;

            short[] values = new short[ushort.MaxValue];
            int     index  = 0;
            BVector d      = new BVector();

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

            index = 0;
            for (int i = 0; i < values.Length; i++)
            {
                Assert.AreEqual(values[i], d.DynamicGetShort());
                Assert.AreEqual(true, d.Get1());
            }
            Assert.AreEqual(short.MinValue, d.DynamicGetShort());
            Assert.AreEqual(true, d.Get1());
            Assert.AreEqual(short.MaxValue, d.DynamicGetShort());
            Assert.AreEqual(true, d.Get1());
            Assert.AreEqual((short)0, d.DynamicGetShort());
        }