Lucene.Net.Index.TestNumericDocValuesUpdates.TestUnsetValue C# (CSharp) Метод

TestUnsetValue() приватный Метод

private TestUnsetValue ( ) : void
Результат void
        public virtual void TestUnsetValue()
        {
            AssumeTrue("codec does not support docsWithField", DefaultCodecSupportsDocsWithField());
            Directory dir = NewDirectory();
            IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(Random()));
            IndexWriter writer = new IndexWriter(dir, conf);

            for (int i = 0; i < 2; i++)
            {
                Document doc = new Document();
                doc.Add(new StringField("id", "doc" + i, Store.NO));
                doc.Add(new NumericDocValuesField("ndv", 5));
                writer.AddDocument(doc);
            }
            writer.Commit();

            // unset the value of 'doc0'
            writer.UpdateNumericDocValue(new Term("id", "doc0"), "ndv", null);
            writer.Dispose();

            DirectoryReader reader = DirectoryReader.Open(dir);
            AtomicReader r = (AtomicReader)reader.Leaves[0].Reader;
            NumericDocValues ndv = r.GetNumericDocValues("ndv");
            for (int i = 0; i < r.MaxDoc; i++)
            {
                if (i == 0)
                {
                    Assert.AreEqual(0, ndv.Get(i));
                }
                else
                {
                    Assert.AreEqual(5, ndv.Get(i));
                }
            }

            Bits docsWithField = r.GetDocsWithField("ndv");
            Assert.IsFalse(docsWithField.Get(0));
            Assert.IsTrue(docsWithField.Get(1));

            reader.Dispose();
            dir.Dispose();
        }