public void HistogramCanReadWhatItWrote()
        {
            var histogram = new InternalHistogram();

            for (long i = 0; i < 10; i++)
            {
                histogram.AddValue(i / 2);
            }

            var histogram2 = new InternalHistogram();

            using (var mem = new MemoryStream())
            {
                histogram.WriteToPersistedData(mem);

                mem.Position = 0;
                using (var buffer = new BufferedValueArray.VariableLengthBufferedValueArray(mem.GetBuffer(), 0, (int)mem.Length))
                {
                    histogram2.MergeFrom(new MultiValueMergeSource(buffer, 0));
                }
            }

            Assert.AreEqual(histogram.SampleCount, histogram2.SampleCount);
            foreach (var kvp in histogram.Data)
            {
                Assert.AreEqual(kvp.Value, histogram2.Data[kvp.Key]);
            }
        }
示例#2
0
        public void HistogramCanReadWhatItWrote()
        {
            var histogram = new InternalHistogram();

            for (long i = 0; i < 10; i++)
            {
                histogram.AddValue(i / 2);
            }

            var histogram2 = new InternalHistogram();

            using (var mem = new MemoryStream())
            {
                histogram.WriteToPersistedData(mem);

                mem.Position = 0;
                using (var buffer = new BufferedValueArray.VariableLengthBufferedValueArray(mem.GetBuffer(), 0, (int)mem.Length))
                {
                    histogram2.MergeFrom(new MultiValueMergeSource(buffer, 0));
                }
            }

            Assert.AreEqual(histogram.SampleCount, histogram2.SampleCount);
            foreach (var kvp in histogram.Data)
            {
                Assert.AreEqual(kvp.Value, histogram2.Data[kvp.Key]);
            }
        }