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 TestMultiFloat() { 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(float); Random rand = new Random(); float[] vals = new float[Config.MULTI_TEST_COUNT]; for (int i = 0; i < Config.MULTI_TEST_COUNT; i++) { vals[i] = (float)(rand.NextDouble() * float.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()); } }