示例#1
0
        public void TestDouble()
        {
            using (MemoryStream ms = new MemoryStream())
            using (BinaryBitWriter bw = new BinaryBitWriter(ms))
            using (BinaryBitReader br = new BinaryBitReader(ms))
            {
                double[] vals = new double[Config.MULTI_TEST_COUNT];
                byte[] bytes = new byte[8];

                Random rand = new Random();
                for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
                {
                    rand.NextBytes(bytes);

                    vals[i] = BitConverter.ToDouble(bytes, 0);
                    bw.WriteDouble(vals[i], 64);
                }

                bw.Flush();

                ms.Position = 0;

                for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
                    Assert.AreEqual(vals[i], br.ReadDouble(64));
            }
        }
        public void TestMultiDouble()
        {
            using (MemoryStream ms = new MemoryStream())
            using (BinaryBitWriter bw = new BinaryBitWriter(ms))
            using (BinaryBitReader br = new BinaryBitReader(ms))
            {
                br.BufferSize = bw.BufferSize = Config.MULTI_TEST_BUFFER_COUNT * sizeof(double);

                Random rand = new Random();
                double[] vals = new double[Config.MULTI_TEST_COUNT];
                for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
                {
                    vals[i] = (double)(rand.NextDouble() * double.MaxValue);
                    bw.WriteDouble(vals[i]);
                }

                bw.Flush();

                ms.Position = 0;

                for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
                    Assert.AreEqual(vals[i], br.ReadDouble());
            }
        }