예제 #1
0
        public void CreationTest()
        {
            var postingsList = new VarintPostingsList()
            {
                1, 2, 11, 15, 119
            };

            Assert.Equal(PostingsListTest.GetDocIds(1, 2, 11, 15, 119), postingsList.ToArray());
        }
예제 #2
0
        public void ReadWriteTest()
        {
            var postingsList = new VarintPostingsList()
            {
                1, 2, 11, 15, 119
            };

            int size   = postingsList.GetReadOnlySpan().Length;
            var stream = new MemoryStream();

            stream.Write(postingsList.GetReadOnlySpan());
            stream.Seek(0, SeekOrigin.Begin);
            var buffer = new byte[size];

            stream.Read(buffer.AsSpan());
            var restored = new VarintPostingsList(buffer);

            Assert.Equal(postingsList, restored);
        }
        public void VarintReadWriteTest()
        {
            var stream = new MemoryStream();

            var postings = new VarintPostingsList()
            {
                0, 1, 2, 10, 11, 12, 13, 14, 15, 100, 111
            };

            using var writer = new PostingsListWriter(stream);
            writer.Write(postings);

            stream.Seek(0, SeekOrigin.Begin);

            using var reader = new PostingsListReader(stream, leaveOpen: false);
            var count        = reader.ReadCount(0);
            var deserialized = reader.Read(0);

            Assert.Equal(postings.Count, count);
            Assert.True(deserialized is VarintPostingsList);
            Assert.Equal(postings, deserialized);
        }