public void ChainedVarintReadWriteTest()
        {
            var stream = new MemoryStream();

            var chain = new ListChain <DocumentId>()
            {
                new VarintPostingsList()
                {
                    0, 1, 2
                },
                GetDocIds(10, 11),
                new VarintPostingsList()
                {
                    12, 13, 14, 15, 100, 111
                },
            };

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

            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(chain.Count, count);
            Assert.True(deserialized is VarintPostingsList);
            Assert.Equal(chain.ToArray(), deserialized.ToArray());
        }
Esempio n. 2
0
        public void ListChainCreateTest()
        {
            var chain = new ListChain <int>
            {
                new[] { 4, 5, 6, 7 },
                new[] { 1, 2 },
                new[] { 3 }
            };

            Assert.Equal(7, chain.Count);
            Assert.Equal(new[] { 4, 5, 6, 7, 1, 2, 3 }, chain.ToArray());
            Assert.Equal(3, chain.Chains.Count);
        }
Esempio n. 3
0
        public void ListChainClearTest()
        {
            var chain = new ListChain <int>
            {
                new[] { 4, 5, 6, 7 },
                new[] { 1, 2 },
                new[] { 3 }
            };

            chain.Clear();

            Assert.Empty(chain);
            Assert.Equal(Array.Empty <int>(), chain.ToArray());
        }
Esempio n. 4
0
        public void ListChainSortTest()
        {
            var chain = new ListChain <int>
            {
                new[] { 4, 5, 6, 7 },
                new[] { 1, 2 },
                new[] { 3 }
            };

            chain.Sort((a, b) => a.First().CompareTo(b.First()));

            Assert.Equal(7, chain.Count);
            Assert.Equal(new[] { 1, 2, 3, 4, 5, 6, 7 }, chain.ToArray());
        }