コード例 #1
0
        public void WrittenValuesCanBeReadBackCorrectly()
        {
            var values = new[] { 4, 8, 1.5, 1.6, 1.7, 1.7, 2.3, 22.0 / 7.0, 653.2, 653.02 };

            var buffer = new BitBuffer();
            var writer = new ValueWriter(buffer);

            foreach (var value in values)
            {
                writer.AppendValue(value);
            }


            var reader = new ValueReader(buffer);

            var actual = new List <double>();

            while (reader.HasMoreValues)
            {
                actual.Add(reader.ReadNextValue());
            }

            actual.Count.Should().Be(values.Length);
            for (int i = 0; i < actual.Count; ++i)
            {
                actual[i].Should().Be(values[i]);
            }
        }
コード例 #2
0
        public ArraySegment <byte> Compress(double[] values)
        {
            var buffer = new BitBuffer(values.Length * 8);
            var writer = new ValueWriter(buffer);

            for (int i = 0, count = values.Length; i < count; i++)
            {
                writer.AppendValue(values[i]);
            }

            var bytes = buffer.ToArray();

            return(new ArraySegment <byte>(bytes));
        }