Пример #1
0
        public void f32Bits()
        {
            var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >();

            writer.f32(1f, 0f, 1f, 1);
            var data   = writer.ToArray();
            var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >();

            reader.CopyFrom(data);
            Assert.AreEqual(1, reader.f32(0f, 1f, 1));
        }
Пример #2
0
        public void f32MinMaxRequired()
        {
            var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >();

            writer.f32(1234.5f, 0, 12345.6f, 0.01f);
            var data   = writer.ToArray();
            var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >();

            reader.CopyFrom(data);
            Assert.AreEqual(1234.5f, reader.f32(0, 12345.6f, 0.01f));
        }
Пример #3
0
        public void f32ReadWrite()
        {
            var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >();

            writer.f32(123.456f);
            writer.Align();
            var data   = writer.ToArray();
            var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >();

            reader.CopyFrom(data);
            Assert.AreEqual(123.456f, reader.f32Peek());
            Assert.AreEqual(123.456f, reader.f32());
        }
Пример #4
0
        public void AngleZero()
        {
            var buffer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >();
            var angle  = 0f;

            buffer.f32(angle);
            Assert.AreEqual(32, buffer.BitsWritten);
            var data   = buffer.ToArray();
            var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >();

            reader.CopyFrom(data);
            var result = reader.f32();

            Assert.AreEqual(0f, result, 1);
        }
Пример #5
0
        public void AngleLimitsAndTwoPrecision()
        {
            var buffer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >();
            var angle  = 359.01f;

            buffer.f32(angle, 0f, 360f, 0.01f);
            Assert.AreEqual(16, buffer.BitsWritten);
            var data   = buffer.ToArray();
            var reader = new BitBufferReader <SevenBitDecoding <u32ArrayMemory> >();

            reader.CopyFrom(data);
            var result = reader.f32(0f, 360f, 0.01f);

            Assert.AreEqual(359.01f, result, 2);
        }
Пример #6
0
        public void f32WriteOutOfRange()
        {
            var writer = new BitBufferWriter <SevenBitEncoding <u32ArrayMemory> >();

            Assert.Throws <ArgumentOutOfRangeException>(() => writer.f32(12345f, 0f, 123f, 0.1f));
        }