You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by cc...@apache.org on 2011/11/23 07:56:08 UTC

[Lucene.Net] svn commit: r1205304 - in /incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries: BooleanFilterTest.cs DuplicateFilterTest.cs FuzzyLikeThisQueryTest.cs Similar/TestMoreLikeThis.cs TermsFilterTest.cs

Author: ccurrens
Date: Wed Nov 23 06:56:07 2011
New Revision: 1205304

URL: http://svn.apache.org/viewvc?rev=1205304&view=rev
Log:
Ported tests for Contrib.Queries

Modified:
    incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs
    incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs
    incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs
    incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs
    incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs

Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/BooleanFilterTest.cs Wed Nov 23 06:56:07 2011
@@ -1,7 +1,7 @@
 /**
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
+ * this work for Additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
@@ -30,23 +30,17 @@ using NUnit.Framework;
 
 namespace Lucene.Net.Search
 {
-    /// <summary>
-    /// Summary description for UnitTest1
-    /// </summary>
     [TestFixture]
-    public class BooleanFilterTest
+    public class BooleanFilterTest : TestCase
     {
-        public BooleanFilterTest() { }
-
+        private RAMDirectory directory;
         private IndexReader reader;
 
-        #region setup/teardown methods
-
         [SetUp]
-        public void MyTestInitialize()
+        protected void SetUp()
         {
-            RAMDirectory directory = new RAMDirectory();
-            IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED);
+            directory = new RAMDirectory();
+            IndexWriter writer = new IndexWriter(directory, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.UNLIMITED);
 
             //Add series of docs with filterable fields : acces rights, prices, dates and "in-stock" flags
             AddDoc(writer, "admin guest", "010", "20040101", "Y");
@@ -58,264 +52,127 @@ namespace Lucene.Net.Search
             writer.Close();
             reader = IndexReader.Open(directory, true);
         }
-        
 
-         [TearDown]
-         public void MyTestCleanup() 
-         {
-             if (this.reader != null)
-             {
-                 this.reader.Close();
-                 this.reader = null;
-             }
-         }
-        
-        #endregion
-
-        [Test]
-        public void Should_Test()
+        private void AddDoc(IndexWriter writer, String accessRights, String price, String date, String inStock)
         {
-            for (int i = 0; i < 2; i++)
-            {
-                bool old = (i == 0);
-
-                BooleanFilter booleanFilter = new BooleanFilter();
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("price", "030", old), BooleanClause.Occur.SHOULD));
-                TstFilterCard("Should retrieves only 1 doc", 1, booleanFilter);
-            }
+            Document doc = new Document();
+            doc.Add(new Field("accessRights", accessRights, Field.Store.YES, Field.Index.ANALYZED));
+            doc.Add(new Field("price", price, Field.Store.YES, Field.Index.ANALYZED));
+            doc.Add(new Field("date", date, Field.Store.YES, Field.Index.ANALYZED));
+            doc.Add(new Field("inStock", inStock, Field.Store.YES, Field.Index.ANALYZED));
+            writer.AddDocument(doc);
         }
 
-        [Test]
-        public void Shoulds_Test()
+        private Filter GetRangeFilter(String field, String lowerPrice, String upperPrice)
         {
-            for (int i = 0; i < 2; i++)
-            {
-                bool old = (i == 0);
-
-                BooleanFilter booleanFilter = new BooleanFilter();
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "010", "020", old), BooleanClause.Occur.SHOULD));
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "020", "030", old), BooleanClause.Occur.SHOULD));
-                TstFilterCard("Shoulds are Ored together", 5, booleanFilter);
-            }
+            Filter f = new TermRangeFilter(field, lowerPrice, upperPrice, true, true);
+            return f;
         }
 
-        [Test]
-        public void ShouldsAndMustNot_Test()
+        private Filter GetTermsFilter(String field, String text)
         {
-            for (int i = 0; i < 2; i++)
-            {
-                bool old = (i == 0);
-
-                BooleanFilter booleanFilter = new BooleanFilter();
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "010", "020", old), BooleanClause.Occur.SHOULD));
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "020", "030", old), BooleanClause.Occur.SHOULD));
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", old), BooleanClause.Occur.MUST_NOT));
-                TstFilterCard("Shoulds Ored but AndNot", 4, booleanFilter);
-
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "Maybe", old), BooleanClause.Occur.MUST_NOT));
-                TstFilterCard("Shoulds Ored but AndNots", 3, booleanFilter);
-            }
+            TermsFilter tf = new TermsFilter();
+            tf.AddTerm(new Term(field, text));
 
+            return tf;
         }
 
-        [Test]
-        public void ShouldsAndMust_Test()
+        private void TstFilterCard(String mes, int expected, Filter filt)
         {
-            for (int i = 0; i < 2; i++)
+            DocIdSetIterator disi = filt.GetDocIdSet(reader).Iterator();
+            int actual = 0;
+            while (disi.NextDoc() != DocIdSetIterator.NO_MORE_DOCS)
             {
-                bool old = (i == 0);
-
-                BooleanFilter booleanFilter = new BooleanFilter();
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "010", "020", old), BooleanClause.Occur.SHOULD));
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "020", "030", old), BooleanClause.Occur.SHOULD));
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("accessRights", "admin", old), BooleanClause.Occur.MUST));
-                TstFilterCard("Shoulds Ored but MUST", 3, booleanFilter);
+                actual++;
             }
+            Assert.AreEqual(expected, actual, mes);
         }
 
         [Test]
-        public void ShouldsAndMusts_Test()
+        public void TestShould()
         {
-            for (int i = 0; i < 2; i++)
-            {
-                bool old = (i == 0);
-
-                BooleanFilter booleanFilter = new BooleanFilter();
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "010", "020", old), BooleanClause.Occur.SHOULD));
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "020", "030", old), BooleanClause.Occur.SHOULD));
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("accessRights", "admin", old), BooleanClause.Occur.MUST));
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("date", "20040101", "20041231", old), BooleanClause.Occur.MUST));
-                TstFilterCard("Shoulds Ored but MUSTs ANDED", 1, booleanFilter);
-            }
+            BooleanFilter booleanFilter = new BooleanFilter();
+            booleanFilter.Add(new FilterClause(GetTermsFilter("price", "030"), BooleanClause.Occur.SHOULD));
+            TstFilterCard("Should retrieves only 1 doc", 1, booleanFilter);
         }
 
         [Test]
-        public void ShouldsAndMustsAndMustNot_Test()
+        public void TestShoulds()
         {
-            for (int i = 0; i < 2; i++)
-            {
-                bool old = (i == 0);
-
-                BooleanFilter booleanFilter = new BooleanFilter();
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("price", "030", "040", old), BooleanClause.Occur.SHOULD));
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("accessRights", "admin", old), BooleanClause.Occur.MUST));
-                booleanFilter.Add(new BooleanFilterClause(GetRangeFilter("date", "20050101", "20051231", old), BooleanClause.Occur.MUST));
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", old), BooleanClause.Occur.MUST_NOT));
-                TstFilterCard("Shoulds Ored but MUSTs ANDED and MustNot", 0, booleanFilter);
-            }
+            BooleanFilter booleanFilter = new BooleanFilter();
+            booleanFilter.Add(new FilterClause(GetRangeFilter("price", "010", "020"), BooleanClause.Occur.SHOULD));
+            booleanFilter.Add(new FilterClause(GetRangeFilter("price", "020", "030"), BooleanClause.Occur.SHOULD));
+            TstFilterCard("Shoulds are Ored together", 5, booleanFilter);
         }
 
         [Test]
-        public void JustMust_Test()
+        public void TestShouldsAndMustNot()
         {
-            for (int i = 0; i < 2; i++)
-            {
-                bool old = (i == 0);
+            BooleanFilter booleanFilter = new BooleanFilter();
+            booleanFilter.Add(new FilterClause(GetRangeFilter("price", "010", "020"), BooleanClause.Occur.SHOULD));
+            booleanFilter.Add(new FilterClause(GetRangeFilter("price", "020", "030"), BooleanClause.Occur.SHOULD));
+            booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "N"), BooleanClause.Occur.MUST_NOT));
+            TstFilterCard("Shoulds Ored but AndNot", 4, booleanFilter);
 
-                BooleanFilter booleanFilter = new BooleanFilter();
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("accessRights", "admin", old), BooleanClause.Occur.MUST));
-                TstFilterCard("MUST", 3, booleanFilter);
-            }
+            booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "Maybe"), BooleanClause.Occur.MUST_NOT));
+            TstFilterCard("Shoulds Ored but AndNots", 3, booleanFilter);
         }
 
         [Test]
-        public void JustMustNot_Test()
+        public void TestShouldsAndMust()
         {
-            for (int i = 0; i < 2; i++)
-            {
-                bool old = (i == 0);
-
-                BooleanFilter booleanFilter = new BooleanFilter();
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", old), BooleanClause.Occur.MUST_NOT));
-                TstFilterCard("MUST_NOT", 4, booleanFilter);
-            }
+            BooleanFilter booleanFilter = new BooleanFilter();
+            booleanFilter.Add(new FilterClause(GetRangeFilter("price", "010", "020"), BooleanClause.Occur.SHOULD));
+            booleanFilter.Add(new FilterClause(GetRangeFilter("price", "020", "030"), BooleanClause.Occur.SHOULD));
+            booleanFilter.Add(new FilterClause(GetTermsFilter("accessRights", "admin"), BooleanClause.Occur.MUST));
+            TstFilterCard("Shoulds Ored but MUST", 3, booleanFilter);
         }
 
         [Test]
-        public void MustAndMustNot_Test()
+        public void TestShouldsAndMusts()
         {
-            for (int i = 0; i < 2; i++)
-            {
-                bool old = (i == 0);
-
-                BooleanFilter booleanFilter = new BooleanFilter();
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", old), BooleanClause.Occur.MUST));
-                booleanFilter.Add(new BooleanFilterClause(GetTermsFilter("price", "030", old), BooleanClause.Occur.MUST_NOT));
-                TstFilterCard("MUST_NOT wins over MUST for same docs", 0, booleanFilter);
-            }
+            BooleanFilter booleanFilter = new BooleanFilter();
+            booleanFilter.Add(new FilterClause(GetRangeFilter("price", "010", "020"), BooleanClause.Occur.SHOULD));
+            booleanFilter.Add(new FilterClause(GetRangeFilter("price", "020", "030"), BooleanClause.Occur.SHOULD));
+            booleanFilter.Add(new FilterClause(GetTermsFilter("accessRights", "admin"), BooleanClause.Occur.MUST));
+            booleanFilter.Add(new FilterClause(GetRangeFilter("date", "20040101", "20041231"), BooleanClause.Occur.MUST));
+            TstFilterCard("Shoulds Ored but MUSTs ANDED", 1, booleanFilter);
         }
 
         [Test]
-        public void HashEquality()
+        public void TestShouldsAndMustsAndMustNot()
         {
-            BooleanFilter a = new BooleanFilter();
-            a.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", false), BooleanClause.Occur.MUST));
-            a.Add(new BooleanFilterClause(GetTermsFilter("price", "030", false), BooleanClause.Occur.MUST_NOT));
-
-            BooleanFilter b = new BooleanFilter();
-            b.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", false), BooleanClause.Occur.MUST));
-            b.Add(new BooleanFilterClause(GetTermsFilter("price", "030", false), BooleanClause.Occur.MUST_NOT));
-
-            Assert.AreEqual(a.GetHashCode(), b.GetHashCode(), "Hashes do not match");
+            BooleanFilter booleanFilter = new BooleanFilter();
+            booleanFilter.Add(new FilterClause(GetRangeFilter("price", "030", "040"), BooleanClause.Occur.SHOULD));
+            booleanFilter.Add(new FilterClause(GetTermsFilter("accessRights", "admin"), BooleanClause.Occur.MUST));
+            booleanFilter.Add(new FilterClause(GetRangeFilter("date", "20050101", "20051231"), BooleanClause.Occur.MUST));
+            booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "N"), BooleanClause.Occur.MUST_NOT));
+            TstFilterCard("Shoulds Ored but MUSTs ANDED and MustNot", 0, booleanFilter);
         }
 
         [Test]
-        public void ToString_Test()
+        public void TestJustMust()
         {
-            BooleanFilter b = new BooleanFilter();
-            b.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", false), BooleanClause.Occur.MUST));
-            b.Add(new BooleanFilterClause(GetTermsFilter("price", "030", false), BooleanClause.Occur.MUST_NOT));
-            b.Add(new BooleanFilterClause(GetRangeFilter("price", "030", "040", false), BooleanClause.Occur.SHOULD));
-
-            Assert.AreEqual("BooleanFilter( price:[030 TO 040] +( inStock:N ) -( price:030 ))", b.ToString());
+            BooleanFilter booleanFilter = new BooleanFilter();
+            booleanFilter.Add(new FilterClause(GetTermsFilter("accessRights", "admin"), BooleanClause.Occur.MUST));
+            TstFilterCard("MUST", 3, booleanFilter);
         }
 
         [Test]
-        [ExpectedException(typeof(NotSupportedException))]
-        public void ExOnBits_Test()
+        public void TestJustMustNot()
         {
-            BooleanFilter b = new BooleanFilter();
-            b.Add(new BooleanFilterClause(GetTermsFilter("inStock", "N", false), BooleanClause.Occur.MUST));
-            b.Add(new BooleanFilterClause(GetTermsFilter("price", "030", false), BooleanClause.Occur.MUST_NOT));
-            b.Add(new BooleanFilterClause(GetRangeFilter("price", "030", "040", false), BooleanClause.Occur.SHOULD));
-
-            BitArray bits = b.Bits(this.reader);
-        }
-
-        #region helpers
-
-        private void AddDoc(IndexWriter writer, String accessRights, String price, String date, String inStock)
-        {
-            Document doc = new Document();
-            doc.Add(new Field("accessRights", accessRights, Field.Store.YES, Field.Index.ANALYZED));
-            doc.Add(new Field("price", price, Field.Store.YES, Field.Index.ANALYZED));
-            doc.Add(new Field("date", date, Field.Store.YES, Field.Index.ANALYZED));
-            doc.Add(new Field("inStock", inStock, Field.Store.YES, Field.Index.ANALYZED));
-            writer.AddDocument(doc);
+            BooleanFilter booleanFilter = new BooleanFilter();
+            booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "N"), BooleanClause.Occur.MUST_NOT));
+            TstFilterCard("MUST_NOT", 4, booleanFilter);
         }
 
-        private Filter GetOldBitSetFilter(Filter filter)
-        {
-            return new MockBooleanFilter(filter);
-        }
-
-        private Filter GetRangeFilter(String field, String lowerPrice, String upperPrice, bool old)
-        {
-            Filter f = new TermRangeFilter(field, lowerPrice, upperPrice, true, true);
-            if (old)
-            {
-                return GetOldBitSetFilter(f);
-            }
-
-            return f;
-        }
-
-        private Filter GetTermsFilter(String field, String text, bool old)
-        {
-            TermsFilter tf = new TermsFilter();
-            tf.AddTerm(new Term(field, text));
-            if (old)
-            {
-                return GetOldBitSetFilter(tf);
-            }
-
-            return tf;
-        }
-
-        private void TstFilterCard(String mes, int expected, Filter filt)
-        {
-            DocIdSetIterator disi = filt.GetDocIdSet(reader).Iterator();
-            int actual = 0;
-            while (disi.NextDoc() != DocIdSetIterator.NO_MORE_DOCS)
-            {
-                actual++;
-            }
-            Assert.AreEqual(expected, actual, mes);
-        }
-
-        #endregion
-    }
-
-    public class MockBooleanFilter : Filter
-    {
-        private Filter filter;
-
-        public MockBooleanFilter(Filter f)
-        {
-            this.filter = f;
-        }
-
-        [Obsolete]
-        public override BitArray Bits(IndexReader reader)
+        [Test]
+        public void TestMustAndMustNot()
         {
-            BitArray bits = new BitArray(reader.MaxDoc());
-            DocIdSetIterator it = filter.GetDocIdSet(reader).Iterator();
-            int doc = DocIdSetIterator.NO_MORE_DOCS;
-            while ((doc = it.NextDoc()) != DocIdSetIterator.NO_MORE_DOCS)
-            {
-                bits.Set(doc, true);
-            }
-            return bits;
+            BooleanFilter booleanFilter = new BooleanFilter();
+            booleanFilter.Add(new FilterClause(GetTermsFilter("inStock", "N"), BooleanClause.Occur.MUST));
+            booleanFilter.Add(new FilterClause(GetTermsFilter("price", "030"), BooleanClause.Occur.MUST_NOT));
+            TstFilterCard("MUST_NOT wins over MUST for same docs", 0, booleanFilter);
         }
     }
 }

Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/DuplicateFilterTest.cs Wed Nov 23 06:56:07 2011
@@ -44,7 +44,7 @@ namespace Lucene.Net.Search
         public void SetUp()
         {
             directory = new RAMDirectory();
-            IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(), true);
+            IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(Util.Version.LUCENE_CURRENT), true, IndexWriter.MaxFieldLength.UNLIMITED);
 
             //Add series of docs with filterable fields : url, text and dates  flags
             AddDoc(writer, "http://lucene.apache.org", "lucene 1.4.3 available", "20040101");
@@ -84,10 +84,10 @@ namespace Lucene.Net.Search
         {
             DuplicateFilter df = new DuplicateFilter(KEY_FIELD);
             Hashtable results = new Hashtable();
-            Hits h = searcher.Search(tq, df);
-            for (int i = 0; i < h.Length(); i++)
+            var h = searcher.Search(tq, df, 1000).ScoreDocs;
+            for (int i = 0; i < h.Length; i++)
             {
-                Document d = h.Doc(i);
+                Document d = searcher.Doc(h[i].doc);
                 String url = d.Get(KEY_FIELD);
                 Assert.IsFalse(results.Contains(url), "No duplicate urls should be returned");
                 results.Add(url,url);
@@ -98,12 +98,12 @@ namespace Lucene.Net.Search
         public void TestNoFilter()
         {
             Hashtable results = new Hashtable();
-            Hits h = searcher.Search(tq);
-            Assert.IsTrue(h.Length() > 0, "Default searching should have found some matches");
+            ScoreDoc[] h = searcher.Search(tq, null, 1000).ScoreDocs;
+            Assert.IsTrue(h.Length > 0, "Default searching should have found some matches");
             bool dupsFound = false;
-            for (int i = 0; i < h.Length(); i++)
+            for (int i = 0; i < h.Length; i++)
             {
-                Document d = h.Doc(i);
+                Document d = searcher.Doc(h[i].doc);
                 String url = d.Get(KEY_FIELD);
                 if (!dupsFound)
                     dupsFound = results.Contains(url);
@@ -118,11 +118,11 @@ namespace Lucene.Net.Search
             DuplicateFilter df = new DuplicateFilter(KEY_FIELD);
             df.SetProcessingMode(DuplicateFilter.PM_FAST_INVALIDATION);
             Hashtable results = new Hashtable();
-            Hits h = searcher.Search(tq, df);
-            Assert.IsTrue(h.Length() > 0, "Filtered searching should have found some matches");
-            for (int i = 0; i < h.Length(); i++)
+            ScoreDoc[] h = searcher.Search(tq, df, 1000).ScoreDocs;
+            Assert.IsTrue(h.Length > 0, "Filtered searching should have found some matches");
+            for (int i = 0; i < h.Length; i++)
             {
-                Document d = h.Doc(i);
+                Document d = searcher.Doc(h[i].doc);
                 String url = d.Get(KEY_FIELD);
                 Assert.IsFalse(results.Contains(url), "No duplicate urls should be returned");
                 results.Add(url,url);
@@ -135,11 +135,11 @@ namespace Lucene.Net.Search
         {
             DuplicateFilter df = new DuplicateFilter(KEY_FIELD);
             df.SetKeepMode(DuplicateFilter.KM_USE_LAST_OCCURRENCE);
-            Hits h = searcher.Search(tq, df);
-            Assert.IsTrue(h.Length() > 0, "Filtered searching should have found some matches");
-            for (int i = 0; i < h.Length(); i++)
+            ScoreDoc[] h = searcher.Search(tq, df, 1000).ScoreDocs;
+            Assert.IsTrue(h.Length > 0, "Filtered searching should have found some matches");
+            for (int i = 0; i < h.Length; i++)
             {
-                Document d = h.Doc(i);
+                Document d = searcher.Doc(h[i].doc);
                 String url = d.Get(KEY_FIELD);
                 TermDocs td = reader.TermDocs(new Term(KEY_FIELD, url));
                 int lastDoc = 0;
@@ -147,7 +147,7 @@ namespace Lucene.Net.Search
                 {
                     lastDoc = td.Doc();
                 }
-                Assert.AreEqual(lastDoc, h.Id((i)), "Duplicate urls should return last doc");
+                Assert.AreEqual(lastDoc, h[i].doc, "Duplicate urls should return last doc");
             }
         }
 
@@ -156,17 +156,17 @@ namespace Lucene.Net.Search
         {
             DuplicateFilter df = new DuplicateFilter(KEY_FIELD);
             df.SetKeepMode(DuplicateFilter.KM_USE_FIRST_OCCURRENCE);
-            Hits h = searcher.Search(tq, df);
-            Assert.IsTrue(h.Length() > 0, "Filtered searching should have found some matches");
-            for (int i = 0; i < h.Length(); i++)
+            ScoreDoc[] h = searcher.Search(tq, df, 1000).ScoreDocs;
+            Assert.IsTrue(h.Length > 0, "Filtered searching should have found some matches");
+            for (int i = 0; i < h.Length; i++)
             {
-                Document d = h.Doc(i);
+                Document d = searcher.Doc(h[i].doc);
                 String url = d.Get(KEY_FIELD);
                 TermDocs td = reader.TermDocs(new Term(KEY_FIELD, url));
                 int lastDoc = 0;
                 td.Next();
                 lastDoc = td.Doc();
-                Assert.AreEqual(lastDoc, h.Id((i)), "Duplicate urls should return first doc");
+                Assert.AreEqual(lastDoc, h[i].doc, "Duplicate urls should return first doc");
             }
         }
     }

Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/FuzzyLikeThisQueryTest.cs Wed Nov 23 06:56:07 2011
@@ -72,7 +72,7 @@ namespace Lucene.Net.Search
             FuzzyLikeThisQuery flt = new FuzzyLikeThisQuery(10, analyzer);
             flt.AddTerms("smith", "name", 0.3f, 1);
             Query q = flt.Rewrite(searcher.GetIndexReader());
-            Hashtable queryTerms = new Hashtable();
+            ISet<Term> queryTerms = new HashSet<Term>();
             q.ExtractTerms(queryTerms);
             Assert.IsTrue(queryTerms.Contains(new Term("name", "smythe")),"Should have variant smythe");
             Assert.IsTrue(queryTerms.Contains(new Term("name", "smith")), "Should have variant smith");
@@ -91,7 +91,7 @@ namespace Lucene.Net.Search
             FuzzyLikeThisQuery flt = new FuzzyLikeThisQuery(10, analyzer);
             flt.AddTerms("jonathin smoth", "name", 0.3f, 1);
             Query q = flt.Rewrite(searcher.GetIndexReader());
-            Hashtable queryTerms = new Hashtable();
+            ISet<Term> queryTerms = new HashSet<Term>();
             q.ExtractTerms(queryTerms);
             Assert.IsTrue(queryTerms.Contains(new Term("name", "jonathan")),"Should have variant jonathan");
             Assert.IsTrue(queryTerms.Contains(new Term("name", "smith")), "Should have variant smith");
@@ -109,7 +109,7 @@ namespace Lucene.Net.Search
             FuzzyLikeThisQuery flt = new FuzzyLikeThisQuery(10, analyzer);
             flt.AddTerms("fernando smith", "name", 0.3f, 1);
             Query q = flt.Rewrite(searcher.GetIndexReader());
-            Hashtable queryTerms = new Hashtable();
+            ISet<Term> queryTerms = new HashSet<Term>();
             q.ExtractTerms(queryTerms);
             Assert.IsTrue(queryTerms.Contains(new Term("name", "smith")), "Should have variant smith");
             TopDocs topDocs = searcher.Search(flt, 1);

Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/Similar/TestMoreLikeThis.cs Wed Nov 23 06:56:07 2011
@@ -46,7 +46,8 @@ namespace Lucene.Net.Search.Similar
         {
             base.SetUp();
             directory = new RAMDirectory();
-            IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29),true, IndexWriter.MaxFieldLength.UNLIMITED);
+            IndexWriter writer = new IndexWriter(directory, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_CURRENT),
+                                                 true, IndexWriter.MaxFieldLength.UNLIMITED);
 
             // Add series of docs with specific information for MoreLikeThis
             AddDoc(writer, "lucene");

Modified: incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs?rev=1205304&r1=1205303&r2=1205304&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net.3.0.3/trunk/test/contrib/Queries/TermsFilterTest.cs Wed Nov 23 06:56:07 2011
@@ -98,15 +98,5 @@ namespace Lucene.Net.Search
             bits = (OpenBitSet)tf.GetDocIdSet(reader);
             Assert.AreEqual(2, bits.Cardinality(), "Must match 2");
         }
-
-        [Test]
-        [ExpectedException(typeof(NotSupportedException))]
-        public void ExOnBits()
-        {
-            TermsFilter a = new TermsFilter();
-            a.AddTerm(new Term("field1", "a"));
-            a.AddTerm(new Term("field1", "b"));
-            BitArray b = a.Bits(null);
-        }
     }
 }