lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nightowl...@apache.org
Subject [4/7] lucenenet git commit: Corrected physical directory locations of Lucene.Net.Sandbox and Lucene.Net.Tests.Sandbox
Date Sat, 10 Dec 2016 19:35:34 GMT
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/Lucene.Net.Tests.Sandbox/Queries/TestSortedSetSortFieldSelectors.cs
----------------------------------------------------------------------
diff --git a/Lucene.Net.Tests.Sandbox/Queries/TestSortedSetSortFieldSelectors.cs b/Lucene.Net.Tests.Sandbox/Queries/TestSortedSetSortFieldSelectors.cs
deleted file mode 100644
index 78119e0..0000000
--- a/Lucene.Net.Tests.Sandbox/Queries/TestSortedSetSortFieldSelectors.cs
+++ /dev/null
@@ -1,611 +0,0 @@
-using Lucene.Net.Codecs;
-using Lucene.Net.Codecs.DiskDV;
-using Lucene.Net.Codecs.Lucene45;
-using Lucene.Net.Codecs.Memory;
-using Lucene.Net.Documents;
-using Lucene.Net.Index;
-using Lucene.Net.Search;
-using Lucene.Net.Store;
-using Lucene.Net.Util;
-using NUnit.Framework;
-
-namespace Lucene.Net.Sandbox.Queries
-{
-    /*
-     * 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.
-     * 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
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-
-    /// <summary>
-    /// Tests for SortedSetSortField selectors other than MIN,
-    /// these require optional codec support (random access to ordinals)
-    /// </summary>
-    public class TestSortedSetSortFieldSelectors : LuceneTestCase
-    {
-        static Codec savedCodec;
-
-        [TestFixtureSetUp]
-        public static void beforeClass()
-        {
-            savedCodec = Codec.Default;
-            // currently only these codecs that support random access ordinals
-            int victim = Random().nextInt(3);
-            switch (victim)
-            {
-                case 0: Codec.Default = (TestUtil.AlwaysDocValuesFormat(new DirectDocValuesFormat())); break;
-                case 1: Codec.Default = (TestUtil.AlwaysDocValuesFormat(new DiskDocValuesFormat())); break;
-                default: Codec.Default = (TestUtil.AlwaysDocValuesFormat(new Lucene45DocValuesFormat())); break;
-            }
-        }
-
-        [TestFixtureTearDown]
-        public static void afterClass()
-        {
-            Codec.Default = (savedCodec);
-        }
-
-        public override void SetUp()
-        {
-            base.SetUp();
-            // ensure there is nothing in fieldcache before test starts
-            FieldCache.DEFAULT.PurgeAllCaches();
-        }
-
-        private void assertNoFieldCaches()
-        {
-            // docvalues sorting should NOT create any fieldcache entries!
-            assertEquals(0, FieldCache.DEFAULT.CacheEntries.Length);
-        }
-
-        [Test]
-        public void TestMax()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("foo")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-
-            Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MAX));
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(2, td.TotalHits);
-            // 'baz' comes before 'foo'
-            assertEquals("2", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMaxReverse()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("foo")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-
-            Sort sort = new Sort(new SortedSetSortField("value", true, Selector.MAX));
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(2, td.TotalHits);
-            // 'baz' comes before 'foo'
-            assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMaxMissingFirst()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("foo")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
-            doc.Add(NewStringField("id", "3", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-
-            SortField sortField = new SortedSetSortField("value", false, Selector.MAX);
-            sortField.MissingValue = (SortField.STRING_FIRST);
-            Sort sort = new Sort(sortField);
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(3, td.TotalHits);
-            // null comes first
-            assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            // 'baz' comes before 'foo'
-            assertEquals("3", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMaxMissingLast()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("foo")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
-            doc.Add(NewStringField("id", "3", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-
-            SortField sortField = new SortedSetSortField("value", false, Selector.MAX);
-            sortField.MissingValue = (SortField.STRING_LAST);
-            Sort sort = new Sort(sortField);
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(3, td.TotalHits);
-            // 'baz' comes before 'foo'
-            assertEquals("3", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            // null comes last
-            assertEquals("1", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMaxSingleton()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MAX));
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(2, td.TotalHits);
-            // 'bar' comes before 'baz'
-            assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMin()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MIDDLE_MIN));
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(2, td.TotalHits);
-            // 'b' comes before 'c'
-            assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMinReverse()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            Sort sort = new Sort(new SortedSetSortField("value", true, Selector.MIDDLE_MIN));
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(2, td.TotalHits);
-            // 'b' comes before 'c'
-            assertEquals("2", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMinMissingFirst()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(NewStringField("id", "3", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            SortField sortField = new SortedSetSortField("value", false, Selector.MIDDLE_MIN);
-            sortField.MissingValue = (SortField.STRING_FIRST);
-            Sort sort = new Sort(sortField);
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(3, td.TotalHits);
-            // null comes first
-            assertEquals("3", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            // 'b' comes before 'c'
-            assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMinMissingLast()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(NewStringField("id", "3", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            SortField sortField = new SortedSetSortField("value", false, Selector.MIDDLE_MIN);
-            sortField.MissingValue = (SortField.STRING_LAST);
-            Sort sort = new Sort(sortField);
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(3, td.TotalHits);
-            // 'b' comes before 'c'
-            assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            // null comes last
-            assertEquals("3", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMinSingleton()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MIDDLE_MIN));
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(2, td.TotalHits);
-            // 'bar' comes before 'baz'
-            assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMax()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MIDDLE_MAX));
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(2, td.TotalHits);
-            // 'b' comes before 'c'
-            assertEquals("2", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMaxReverse()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            Sort sort = new Sort(new SortedSetSortField("value", true, Selector.MIDDLE_MAX));
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(2, td.TotalHits);
-            // 'b' comes before 'c'
-            assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMaxMissingFirst()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(NewStringField("id", "3", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            SortField sortField = new SortedSetSortField("value", false, Selector.MIDDLE_MAX);
-            sortField.MissingValue = (SortField.STRING_FIRST);
-            Sort sort = new Sort(sortField);
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(3, td.TotalHits);
-            // null comes first
-            assertEquals("3", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            // 'b' comes before 'c'
-            assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertEquals("1", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMaxMissingLast()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(NewStringField("id", "3", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("a")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("c")));
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("d")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("b")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            SortField sortField = new SortedSetSortField("value", false, Selector.MIDDLE_MAX);
-            sortField.MissingValue = (SortField.STRING_LAST);
-            Sort sort = new Sort(sortField);
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(3, td.TotalHits);
-            // 'b' comes before 'c'
-            assertEquals("2", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("1", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            // null comes last
-            assertEquals("3", searcher.Doc(td.ScoreDocs[2].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-
-        [Test]
-        public void TestMiddleMaxSingleton()
-        {
-            Directory dir = NewDirectory();
-            RandomIndexWriter writer = new RandomIndexWriter(Random(), dir, Similarity, TimeZone);
-            Document doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("baz")));
-            doc.Add(NewStringField("id", "2", Field.Store.YES));
-            writer.AddDocument(doc);
-            doc = new Document();
-            doc.Add(new SortedSetDocValuesField("value", new BytesRef("bar")));
-            doc.Add(NewStringField("id", "1", Field.Store.YES));
-            writer.AddDocument(doc);
-            IndexReader ir = writer.Reader;
-            writer.Dispose();
-
-            // slow wrapper does not support random access ordinals (there is no need for that!)
-            IndexSearcher searcher = NewSearcher(ir, false);
-            Sort sort = new Sort(new SortedSetSortField("value", false, Selector.MIDDLE_MAX));
-
-            TopDocs td = searcher.Search(new MatchAllDocsQuery(), 10, sort);
-            assertEquals(2, td.TotalHits);
-            // 'bar' comes before 'baz'
-            assertEquals("1", searcher.Doc(td.ScoreDocs[0].Doc).Get("id"));
-            assertEquals("2", searcher.Doc(td.ScoreDocs[1].Doc).Get("id"));
-            assertNoFieldCaches();
-
-            ir.Dispose();
-            dir.Dispose();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/Lucene.Net.Tests.Sandbox/Queries/fuzzyTestData.txt
----------------------------------------------------------------------
diff --git a/Lucene.Net.Tests.Sandbox/Queries/fuzzyTestData.txt b/Lucene.Net.Tests.Sandbox/Queries/fuzzyTestData.txt
deleted file mode 100644
index b759da7..0000000
--- a/Lucene.Net.Tests.Sandbox/Queries/fuzzyTestData.txt
+++ /dev/null
@@ -1,3721 +0,0 @@
-3
-0,0,1,0.1
-1
-0,1.0
-1,0,1,0.1
-1
-1,1.0
-2,0,1,0.1
-1
-2,1.0
-3,0,1,0.1
-1
-3,1.0
-4,0,1,0.1
-1
-4,1.0
-5,0,1,0.1
-1
-5,1.0
-6,0,1,0.1
-1
-6,1.0
-7,0,1,0.1
-1
-7,1.0
-0,0,1,0.3
-1
-0,1.0
-1,0,1,0.3
-1
-1,1.0
-2,0,1,0.3
-1
-2,1.0
-3,0,1,0.3
-1
-3,1.0
-4,0,1,0.3
-1
-4,1.0
-5,0,1,0.3
-1
-5,1.0
-6,0,1,0.3
-1
-6,1.0
-7,0,1,0.3
-1
-7,1.0
-0,0,1,0.5
-1
-0,1.0
-1,0,1,0.5
-1
-1,1.0
-2,0,1,0.5
-1
-2,1.0
-3,0,1,0.5
-1
-3,1.0
-4,0,1,0.5
-1
-4,1.0
-5,0,1,0.5
-1
-5,1.0
-6,0,1,0.5
-1
-6,1.0
-7,0,1,0.5
-1
-7,1.0
-0,0,1,0.7
-1
-0,1.0
-1,0,1,0.7
-1
-1,1.0
-2,0,1,0.7
-1
-2,1.0
-3,0,1,0.7
-1
-3,1.0
-4,0,1,0.7
-1
-4,1.0
-5,0,1,0.7
-1
-5,1.0
-6,0,1,0.7
-1
-6,1.0
-7,0,1,0.7
-1
-7,1.0
-0,0,1,0.9
-1
-0,1.0
-1,0,1,0.9
-1
-1,1.0
-2,0,1,0.9
-1
-2,1.0
-3,0,1,0.9
-1
-3,1.0
-4,0,1,0.9
-1
-4,1.0
-5,0,1,0.9
-1
-5,1.0
-6,0,1,0.9
-1
-6,1.0
-7,0,1,0.9
-1
-7,1.0
-0,0,2,0.1
-1
-0,1.0
-1,0,2,0.1
-1
-1,1.0
-2,0,2,0.1
-2
-2,0.91381156
-4,0.4061385
-3,0,2,0.1
-2
-3,0.91381156
-2,0.4061385
-4,0,2,0.1
-2
-4,0.84623283
-5,0.53281325
-5,0,2,0.1
-2
-5,0.84623283
-4,0.53281325
-6,0,2,0.1
-2
-6,0.84623283
-4,0.53281325
-7,0,2,0.1
-2
-7,0.84623283
-5,0.53281325
-0,0,2,0.3
-1
-0,1.0
-1,0,2,0.3
-1
-1,1.0
-2,0,2,0.3
-2
-2,0.96152395
-4,0.27472112
-3,0,2,0.3
-2
-3,0.96152395
-2,0.27472112
-4,0,2,0.3
-2
-4,0.88583153
-5,0.4640069
-5,0,2,0.3
-2
-5,0.88583153
-4,0.4640069
-6,0,2,0.3
-2
-6,0.88583153
-4,0.4640069
-7,0,2,0.3
-2
-7,0.88583153
-5,0.4640069
-0,0,2,0.5
-1
-0,1.0
-1,0,2,0.5
-1
-1,1.0
-2,0,2,0.5
-1
-2,1.0
-3,0,2,0.5
-1
-3,1.0
-4,0,2,0.5
-2
-4,0.9486833
-5,0.3162277
-5,0,2,0.5
-2
-5,0.9486833
-4,0.3162277
-6,0,2,0.5
-2
-6,0.9486833
-4,0.3162277
-7,0,2,0.5
-2
-7,0.9486833
-5,0.3162277
-0,0,2,0.7
-1
-0,1.0
-1,0,2,0.7
-1
-1,1.0
-2,0,2,0.7
-1
-2,1.0
-3,0,2,0.7
-1
-3,1.0
-4,0,2,0.7
-1
-4,1.0
-5,0,2,0.7
-1
-5,1.0
-6,0,2,0.7
-1
-6,1.0
-7,0,2,0.7
-1
-7,1.0
-0,0,2,0.9
-1
-0,1.0
-1,0,2,0.9
-1
-1,1.0
-2,0,2,0.9
-1
-2,1.0
-3,0,2,0.9
-1
-3,1.0
-4,0,2,0.9
-1
-4,1.0
-5,0,2,0.9
-1
-5,1.0
-6,0,2,0.9
-1
-6,1.0
-7,0,2,0.9
-1
-7,1.0
-0,0,3,0.1
-1
-0,1.0
-1,0,3,0.1
-1
-1,1.0
-2,0,3,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,0,3,0.1
-3
-3,0.84664875
-2,0.37628835
-5,0.37628835
-4,0,3,0.1
-3
-4,0.74683726
-5,0.47023085
-6,0.47023085
-5,0,3,0.1
-3
-5,0.74683726
-4,0.47023085
-7,0.47023085
-6,0,3,0.1
-3
-6,0.74683726
-4,0.47023085
-7,0.47023085
-7,0,3,0.1
-3
-7,0.74683726
-5,0.47023085
-6,0.47023085
-0,0,3,0.3
-1
-0,1.0
-1,0,3,0.3
-1
-1,1.0
-2,0,3,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,0,3,0.3
-3
-3,0.92717266
-2,0.26490647
-5,0.26490647
-4,0,3,0.3
-3
-4,0.8035427
-5,0.42090324
-6,0.42090324
-5,0,3,0.3
-3
-5,0.80354273
-4,0.42090327
-7,0.42090327
-6,0,3,0.3
-3
-6,0.80354273
-4,0.42090327
-7,0.42090327
-7,0,3,0.3
-3
-7,0.8035427
-5,0.42090324
-6,0.42090324
-0,0,3,0.5
-1
-0,1.0
-1,0,3,0.5
-1
-1,1.0
-2,0,3,0.5
-1
-2,1.0
-3,0,3,0.5
-1
-3,1.0
-4,0,3,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,3,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,3,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,3,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,3,0.7
-1
-0,1.0
-1,0,3,0.7
-1
-1,1.0
-2,0,3,0.7
-1
-2,1.0
-3,0,3,0.7
-1
-3,1.0
-4,0,3,0.7
-1
-4,1.0
-5,0,3,0.7
-1
-5,1.0
-6,0,3,0.7
-1
-6,1.0
-7,0,3,0.7
-1
-7,1.0
-0,0,3,0.9
-1
-0,1.0
-1,0,3,0.9
-1
-1,1.0
-2,0,3,0.9
-1
-2,1.0
-3,0,3,0.9
-1
-3,1.0
-4,0,3,0.9
-1
-4,1.0
-5,0,3,0.9
-1
-5,1.0
-6,0,3,0.9
-1
-6,1.0
-7,0,3,0.9
-1
-7,1.0
-0,0,4,0.1
-1
-0,1.0
-1,0,4,0.1
-1
-1,1.0
-2,0,4,0.1
-4
-2,0.7924058
-3,0.35218036
-4,0.35218036
-5,0.35218036
-3,0,4,0.1
-4
-3,0.79240584
-2,0.3521804
-5,0.3521804
-6,0.3521804
-4,0,4,0.1
-4
-4,0.7088104
-5,0.44628802
-6,0.44628802
-2,0.31502685
-5,0,4,0.1
-4
-5,0.7088104
-4,0.44628802
-7,0.44628802
-2,0.31502685
-6,0,4,0.1
-4
-6,0.7088104
-4,0.44628802
-7,0.44628802
-2,0.31502685
-7,0,4,0.1
-4
-7,0.7088104
-5,0.44628802
-6,0.44628802
-3,0.31502685
-0,0,4,0.3
-1
-0,1.0
-1,0,4,0.3
-1
-1,1.0
-2,0,4,0.3
-4
-2,0.8962582
-3,0.25607374
-4,0.25607374
-5,0.25607374
-3,0,4,0.3
-4
-3,0.8962582
-2,0.25607374
-5,0.25607374
-6,0.25607374
-4,0,4,0.3
-4
-4,0.7831679
-5,0.41023073
-6,0.41023073
-2,0.22376224
-5,0,4,0.3
-4
-5,0.7831679
-4,0.41023073
-7,0.41023073
-2,0.22376224
-6,0,4,0.3
-4
-6,0.7831679
-4,0.41023073
-7,0.41023073
-2,0.22376224
-7,0,4,0.3
-4
-7,0.7831679
-5,0.41023073
-6,0.41023073
-3,0.22376224
-0,0,4,0.5
-1
-0,1.0
-1,0,4,0.5
-1
-1,1.0
-2,0,4,0.5
-1
-2,1.0
-3,0,4,0.5
-1
-3,1.0
-4,0,4,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,4,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,4,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,4,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,4,0.7
-1
-0,1.0
-1,0,4,0.7
-1
-1,1.0
-2,0,4,0.7
-1
-2,1.0
-3,0,4,0.7
-1
-3,1.0
-4,0,4,0.7
-1
-4,1.0
-5,0,4,0.7
-1
-5,1.0
-6,0,4,0.7
-1
-6,1.0
-7,0,4,0.7
-1
-7,1.0
-0,0,4,0.9
-1
-0,1.0
-1,0,4,0.9
-1
-1,1.0
-2,0,4,0.9
-1
-2,1.0
-3,0,4,0.9
-1
-3,1.0
-4,0,4,0.9
-1
-4,1.0
-5,0,4,0.9
-1
-5,1.0
-6,0,4,0.9
-1
-6,1.0
-7,0,4,0.9
-1
-7,1.0
-0,0,5,0.1
-1
-0,1.0
-1,0,5,0.1
-1
-1,1.0
-2,0,5,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,0,5,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,0,5,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,0,5,0.1
-5
-5,0.67605716
-4,0.42566562
-7,0.42566562
-2,0.30046988
-3,0.30046988
-6,0,5,0.1
-5
-6,0.67605716
-4,0.42566562
-7,0.42566562
-2,0.30046988
-3,0.30046988
-7,0,5,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,0,5,0.3
-1
-0,1.0
-1,0,5,0.3
-1
-1,1.0
-2,0,5,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,0,5,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,0,5,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,0,5,0.3
-5
-5,0.7642683
-4,0.40033093
-7,0.40033093
-2,0.21836235
-3,0.21836235
-6,0,5,0.3
-5
-6,0.7642683
-4,0.40033093
-7,0.40033093
-2,0.21836235
-3,0.21836235
-7,0,5,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,0,5,0.5
-1
-0,1.0
-1,0,5,0.5
-1
-1,1.0
-2,0,5,0.5
-1
-2,1.0
-3,0,5,0.5
-1
-3,1.0
-4,0,5,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,5,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,5,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,5,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,5,0.7
-1
-0,1.0
-1,0,5,0.7
-1
-1,1.0
-2,0,5,0.7
-1
-2,1.0
-3,0,5,0.7
-1
-3,1.0
-4,0,5,0.7
-1
-4,1.0
-5,0,5,0.7
-1
-5,1.0
-6,0,5,0.7
-1
-6,1.0
-7,0,5,0.7
-1
-7,1.0
-0,0,5,0.9
-1
-0,1.0
-1,0,5,0.9
-1
-1,1.0
-2,0,5,0.9
-1
-2,1.0
-3,0,5,0.9
-1
-3,1.0
-4,0,5,0.9
-1
-4,1.0
-5,0,5,0.9
-1
-5,1.0
-6,0,5,0.9
-1
-6,1.0
-7,0,5,0.9
-1
-7,1.0
-0,0,6,0.1
-1
-0,1.0
-1,0,6,0.1
-1
-1,1.0
-2,0,6,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,0,6,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,0,6,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,0,6,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,0,6,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,0,6,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,0,6,0.3
-1
-0,1.0
-1,0,6,0.3
-1
-1,1.0
-2,0,6,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,0,6,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,0,6,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,0,6,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,0,6,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,0,6,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,0,6,0.5
-1
-0,1.0
-1,0,6,0.5
-1
-1,1.0
-2,0,6,0.5
-1
-2,1.0
-3,0,6,0.5
-1
-3,1.0
-4,0,6,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,6,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,6,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,6,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,6,0.7
-1
-0,1.0
-1,0,6,0.7
-1
-1,1.0
-2,0,6,0.7
-1
-2,1.0
-3,0,6,0.7
-1
-3,1.0
-4,0,6,0.7
-1
-4,1.0
-5,0,6,0.7
-1
-5,1.0
-6,0,6,0.7
-1
-6,1.0
-7,0,6,0.7
-1
-7,1.0
-0,0,6,0.9
-1
-0,1.0
-1,0,6,0.9
-1
-1,1.0
-2,0,6,0.9
-1
-2,1.0
-3,0,6,0.9
-1
-3,1.0
-4,0,6,0.9
-1
-4,1.0
-5,0,6,0.9
-1
-5,1.0
-6,0,6,0.9
-1
-6,1.0
-7,0,6,0.9
-1
-7,1.0
-0,0,7,0.1
-1
-0,1.0
-1,0,7,0.1
-1
-1,1.0
-2,0,7,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,0,7,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,0,7,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,0,7,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,0,7,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,0,7,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,0,7,0.3
-1
-0,1.0
-1,0,7,0.3
-1
-1,1.0
-2,0,7,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,0,7,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,0,7,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,0,7,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,0,7,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,0,7,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,0,7,0.5
-1
-0,1.0
-1,0,7,0.5
-1
-1,1.0
-2,0,7,0.5
-1
-2,1.0
-3,0,7,0.5
-1
-3,1.0
-4,0,7,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,7,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,7,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,7,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,7,0.7
-1
-0,1.0
-1,0,7,0.7
-1
-1,1.0
-2,0,7,0.7
-1
-2,1.0
-3,0,7,0.7
-1
-3,1.0
-4,0,7,0.7
-1
-4,1.0
-5,0,7,0.7
-1
-5,1.0
-6,0,7,0.7
-1
-6,1.0
-7,0,7,0.7
-1
-7,1.0
-0,0,7,0.9
-1
-0,1.0
-1,0,7,0.9
-1
-1,1.0
-2,0,7,0.9
-1
-2,1.0
-3,0,7,0.9
-1
-3,1.0
-4,0,7,0.9
-1
-4,1.0
-5,0,7,0.9
-1
-5,1.0
-6,0,7,0.9
-1
-6,1.0
-7,0,7,0.9
-1
-7,1.0
-0,0,8,0.1
-1
-0,1.0
-1,0,8,0.1
-1
-1,1.0
-2,0,8,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,0,8,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,0,8,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,0,8,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,0,8,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,0,8,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,0,8,0.3
-1
-0,1.0
-1,0,8,0.3
-1
-1,1.0
-2,0,8,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,0,8,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,0,8,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,0,8,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,0,8,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,0,8,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,0,8,0.5
-1
-0,1.0
-1,0,8,0.5
-1
-1,1.0
-2,0,8,0.5
-1
-2,1.0
-3,0,8,0.5
-1
-3,1.0
-4,0,8,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,0,8,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,0,8,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,0,8,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,0,8,0.7
-1
-0,1.0
-1,0,8,0.7
-1
-1,1.0
-2,0,8,0.7
-1
-2,1.0
-3,0,8,0.7
-1
-3,1.0
-4,0,8,0.7
-1
-4,1.0
-5,0,8,0.7
-1
-5,1.0
-6,0,8,0.7
-1
-6,1.0
-7,0,8,0.7
-1
-7,1.0
-0,0,8,0.9
-1
-0,1.0
-1,0,8,0.9
-1
-1,1.0
-2,0,8,0.9
-1
-2,1.0
-3,0,8,0.9
-1
-3,1.0
-4,0,8,0.9
-1
-4,1.0
-5,0,8,0.9
-1
-5,1.0
-6,0,8,0.9
-1
-6,1.0
-7,0,8,0.9
-1
-7,1.0
-0,1,1,0.1
-1
-0,1.0
-1,1,1,0.1
-1
-1,1.0
-2,1,1,0.1
-1
-2,1.0
-3,1,1,0.1
-1
-3,1.0
-4,1,1,0.1
-1
-4,1.0
-5,1,1,0.1
-1
-5,1.0
-6,1,1,0.1
-1
-6,1.0
-7,1,1,0.1
-1
-7,1.0
-0,1,1,0.3
-1
-0,1.0
-1,1,1,0.3
-1
-1,1.0
-2,1,1,0.3
-1
-2,1.0
-3,1,1,0.3
-1
-3,1.0
-4,1,1,0.3
-1
-4,1.0
-5,1,1,0.3
-1
-5,1.0
-6,1,1,0.3
-1
-6,1.0
-7,1,1,0.3
-1
-7,1.0
-0,1,1,0.5
-1
-0,1.0
-1,1,1,0.5
-1
-1,1.0
-2,1,1,0.5
-1
-2,1.0
-3,1,1,0.5
-1
-3,1.0
-4,1,1,0.5
-1
-4,1.0
-5,1,1,0.5
-1
-5,1.0
-6,1,1,0.5
-1
-6,1.0
-7,1,1,0.5
-1
-7,1.0
-0,1,1,0.7
-1
-0,1.0
-1,1,1,0.7
-1
-1,1.0
-2,1,1,0.7
-1
-2,1.0
-3,1,1,0.7
-1
-3,1.0
-4,1,1,0.7
-1
-4,1.0
-5,1,1,0.7
-1
-5,1.0
-6,1,1,0.7
-1
-6,1.0
-7,1,1,0.7
-1
-7,1.0
-0,1,1,0.9
-1
-0,1.0
-1,1,1,0.9
-1
-1,1.0
-2,1,1,0.9
-1
-2,1.0
-3,1,1,0.9
-1
-3,1.0
-4,1,1,0.9
-1
-4,1.0
-5,1,1,0.9
-1
-5,1.0
-6,1,1,0.9
-1
-6,1.0
-7,1,1,0.9
-1
-7,1.0
-0,1,2,0.1
-1
-0,1.0
-1,1,2,0.1
-1
-1,1.0
-2,1,2,0.1
-2
-2,0.91381156
-4,0.4061385
-3,1,2,0.1
-2
-3,0.91381156
-2,0.4061385
-4,1,2,0.1
-2
-4,0.84623283
-5,0.53281325
-5,1,2,0.1
-2
-5,0.84623283
-4,0.53281325
-6,1,2,0.1
-2
-6,0.84623283
-4,0.53281325
-7,1,2,0.1
-2
-7,0.84623283
-5,0.53281325
-0,1,2,0.3
-1
-0,1.0
-1,1,2,0.3
-1
-1,1.0
-2,1,2,0.3
-2
-2,0.96152395
-4,0.27472112
-3,1,2,0.3
-2
-3,0.96152395
-2,0.27472112
-4,1,2,0.3
-2
-4,0.88583153
-5,0.4640069
-5,1,2,0.3
-2
-5,0.88583153
-4,0.4640069
-6,1,2,0.3
-2
-6,0.88583153
-4,0.4640069
-7,1,2,0.3
-2
-7,0.88583153
-5,0.4640069
-0,1,2,0.5
-1
-0,1.0
-1,1,2,0.5
-1
-1,1.0
-2,1,2,0.5
-1
-2,1.0
-3,1,2,0.5
-1
-3,1.0
-4,1,2,0.5
-2
-4,0.9486833
-5,0.3162277
-5,1,2,0.5
-2
-5,0.9486833
-4,0.3162277
-6,1,2,0.5
-2
-6,0.9486833
-4,0.3162277
-7,1,2,0.5
-2
-7,0.9486833
-5,0.3162277
-0,1,2,0.7
-1
-0,1.0
-1,1,2,0.7
-1
-1,1.0
-2,1,2,0.7
-1
-2,1.0
-3,1,2,0.7
-1
-3,1.0
-4,1,2,0.7
-1
-4,1.0
-5,1,2,0.7
-1
-5,1.0
-6,1,2,0.7
-1
-6,1.0
-7,1,2,0.7
-1
-7,1.0
-0,1,2,0.9
-1
-0,1.0
-1,1,2,0.9
-1
-1,1.0
-2,1,2,0.9
-1
-2,1.0
-3,1,2,0.9
-1
-3,1.0
-4,1,2,0.9
-1
-4,1.0
-5,1,2,0.9
-1
-5,1.0
-6,1,2,0.9
-1
-6,1.0
-7,1,2,0.9
-1
-7,1.0
-0,1,3,0.1
-1
-0,1.0
-1,1,3,0.1
-1
-1,1.0
-2,1,3,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,1,3,0.1
-3
-3,0.84664875
-2,0.37628835
-5,0.37628835
-4,1,3,0.1
-3
-4,0.74683726
-5,0.47023085
-6,0.47023085
-5,1,3,0.1
-3
-5,0.74683726
-4,0.47023085
-7,0.47023085
-6,1,3,0.1
-3
-6,0.74683726
-4,0.47023085
-7,0.47023085
-7,1,3,0.1
-3
-7,0.74683726
-5,0.47023085
-6,0.47023085
-0,1,3,0.3
-1
-0,1.0
-1,1,3,0.3
-1
-1,1.0
-2,1,3,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,1,3,0.3
-3
-3,0.92717266
-2,0.26490647
-5,0.26490647
-4,1,3,0.3
-3
-4,0.8035427
-5,0.42090324
-6,0.42090324
-5,1,3,0.3
-3
-5,0.80354273
-4,0.42090327
-7,0.42090327
-6,1,3,0.3
-3
-6,0.80354273
-4,0.42090327
-7,0.42090327
-7,1,3,0.3
-3
-7,0.8035427
-5,0.42090324
-6,0.42090324
-0,1,3,0.5
-1
-0,1.0
-1,1,3,0.5
-1
-1,1.0
-2,1,3,0.5
-1
-2,1.0
-3,1,3,0.5
-1
-3,1.0
-4,1,3,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,3,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,3,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,3,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,3,0.7
-1
-0,1.0
-1,1,3,0.7
-1
-1,1.0
-2,1,3,0.7
-1
-2,1.0
-3,1,3,0.7
-1
-3,1.0
-4,1,3,0.7
-1
-4,1.0
-5,1,3,0.7
-1
-5,1.0
-6,1,3,0.7
-1
-6,1.0
-7,1,3,0.7
-1
-7,1.0
-0,1,3,0.9
-1
-0,1.0
-1,1,3,0.9
-1
-1,1.0
-2,1,3,0.9
-1
-2,1.0
-3,1,3,0.9
-1
-3,1.0
-4,1,3,0.9
-1
-4,1.0
-5,1,3,0.9
-1
-5,1.0
-6,1,3,0.9
-1
-6,1.0
-7,1,3,0.9
-1
-7,1.0
-0,1,4,0.1
-1
-0,1.0
-1,1,4,0.1
-1
-1,1.0
-2,1,4,0.1
-4
-2,0.7924058
-3,0.35218036
-4,0.35218036
-5,0.35218036
-3,1,4,0.1
-4
-3,0.79240584
-2,0.3521804
-5,0.3521804
-6,0.3521804
-4,1,4,0.1
-4
-4,0.7088104
-5,0.44628802
-6,0.44628802
-2,0.31502685
-5,1,4,0.1
-4
-5,0.7088104
-4,0.44628802
-7,0.44628802
-2,0.31502685
-6,1,4,0.1
-4
-6,0.7088104
-4,0.44628802
-7,0.44628802
-2,0.31502685
-7,1,4,0.1
-4
-7,0.7088104
-5,0.44628802
-6,0.44628802
-3,0.31502685
-0,1,4,0.3
-1
-0,1.0
-1,1,4,0.3
-1
-1,1.0
-2,1,4,0.3
-4
-2,0.8962582
-3,0.25607374
-4,0.25607374
-5,0.25607374
-3,1,4,0.3
-4
-3,0.8962582
-2,0.25607374
-5,0.25607374
-6,0.25607374
-4,1,4,0.3
-4
-4,0.7831679
-5,0.41023073
-6,0.41023073
-2,0.22376224
-5,1,4,0.3
-4
-5,0.7831679
-4,0.41023073
-7,0.41023073
-2,0.22376224
-6,1,4,0.3
-4
-6,0.7831679
-4,0.41023073
-7,0.41023073
-2,0.22376224
-7,1,4,0.3
-4
-7,0.7831679
-5,0.41023073
-6,0.41023073
-3,0.22376224
-0,1,4,0.5
-1
-0,1.0
-1,1,4,0.5
-1
-1,1.0
-2,1,4,0.5
-1
-2,1.0
-3,1,4,0.5
-1
-3,1.0
-4,1,4,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,4,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,4,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,4,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,4,0.7
-1
-0,1.0
-1,1,4,0.7
-1
-1,1.0
-2,1,4,0.7
-1
-2,1.0
-3,1,4,0.7
-1
-3,1.0
-4,1,4,0.7
-1
-4,1.0
-5,1,4,0.7
-1
-5,1.0
-6,1,4,0.7
-1
-6,1.0
-7,1,4,0.7
-1
-7,1.0
-0,1,4,0.9
-1
-0,1.0
-1,1,4,0.9
-1
-1,1.0
-2,1,4,0.9
-1
-2,1.0
-3,1,4,0.9
-1
-3,1.0
-4,1,4,0.9
-1
-4,1.0
-5,1,4,0.9
-1
-5,1.0
-6,1,4,0.9
-1
-6,1.0
-7,1,4,0.9
-1
-7,1.0
-0,1,5,0.1
-1
-0,1.0
-1,1,5,0.1
-1
-1,1.0
-2,1,5,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,1,5,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,1,5,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,1,5,0.1
-5
-5,0.67605716
-4,0.42566562
-7,0.42566562
-2,0.30046988
-3,0.30046988
-6,1,5,0.1
-5
-6,0.67605716
-4,0.42566562
-7,0.42566562
-2,0.30046988
-3,0.30046988
-7,1,5,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,1,5,0.3
-1
-0,1.0
-1,1,5,0.3
-1
-1,1.0
-2,1,5,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,1,5,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,1,5,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,1,5,0.3
-5
-5,0.7642683
-4,0.40033093
-7,0.40033093
-2,0.21836235
-3,0.21836235
-6,1,5,0.3
-5
-6,0.7642683
-4,0.40033093
-7,0.40033093
-2,0.21836235
-3,0.21836235
-7,1,5,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,1,5,0.5
-1
-0,1.0
-1,1,5,0.5
-1
-1,1.0
-2,1,5,0.5
-1
-2,1.0
-3,1,5,0.5
-1
-3,1.0
-4,1,5,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,5,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,5,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,5,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,5,0.7
-1
-0,1.0
-1,1,5,0.7
-1
-1,1.0
-2,1,5,0.7
-1
-2,1.0
-3,1,5,0.7
-1
-3,1.0
-4,1,5,0.7
-1
-4,1.0
-5,1,5,0.7
-1
-5,1.0
-6,1,5,0.7
-1
-6,1.0
-7,1,5,0.7
-1
-7,1.0
-0,1,5,0.9
-1
-0,1.0
-1,1,5,0.9
-1
-1,1.0
-2,1,5,0.9
-1
-2,1.0
-3,1,5,0.9
-1
-3,1.0
-4,1,5,0.9
-1
-4,1.0
-5,1,5,0.9
-1
-5,1.0
-6,1,5,0.9
-1
-6,1.0
-7,1,5,0.9
-1
-7,1.0
-0,1,6,0.1
-1
-0,1.0
-1,1,6,0.1
-1
-1,1.0
-2,1,6,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,1,6,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,1,6,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,1,6,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,1,6,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,1,6,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,1,6,0.3
-1
-0,1.0
-1,1,6,0.3
-1
-1,1.0
-2,1,6,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,1,6,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,1,6,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,1,6,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,1,6,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,1,6,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,1,6,0.5
-1
-0,1.0
-1,1,6,0.5
-1
-1,1.0
-2,1,6,0.5
-1
-2,1.0
-3,1,6,0.5
-1
-3,1.0
-4,1,6,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,6,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,6,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,6,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,6,0.7
-1
-0,1.0
-1,1,6,0.7
-1
-1,1.0
-2,1,6,0.7
-1
-2,1.0
-3,1,6,0.7
-1
-3,1.0
-4,1,6,0.7
-1
-4,1.0
-5,1,6,0.7
-1
-5,1.0
-6,1,6,0.7
-1
-6,1.0
-7,1,6,0.7
-1
-7,1.0
-0,1,6,0.9
-1
-0,1.0
-1,1,6,0.9
-1
-1,1.0
-2,1,6,0.9
-1
-2,1.0
-3,1,6,0.9
-1
-3,1.0
-4,1,6,0.9
-1
-4,1.0
-5,1,6,0.9
-1
-5,1.0
-6,1,6,0.9
-1
-6,1.0
-7,1,6,0.9
-1
-7,1.0
-0,1,7,0.1
-1
-0,1.0
-1,1,7,0.1
-1
-1,1.0
-2,1,7,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,1,7,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,1,7,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,1,7,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,1,7,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,1,7,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,1,7,0.3
-1
-0,1.0
-1,1,7,0.3
-1
-1,1.0
-2,1,7,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,1,7,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,1,7,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,1,7,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,1,7,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,1,7,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,1,7,0.5
-1
-0,1.0
-1,1,7,0.5
-1
-1,1.0
-2,1,7,0.5
-1
-2,1.0
-3,1,7,0.5
-1
-3,1.0
-4,1,7,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,7,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,7,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,7,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,7,0.7
-1
-0,1.0
-1,1,7,0.7
-1
-1,1.0
-2,1,7,0.7
-1
-2,1.0
-3,1,7,0.7
-1
-3,1.0
-4,1,7,0.7
-1
-4,1.0
-5,1,7,0.7
-1
-5,1.0
-6,1,7,0.7
-1
-6,1.0
-7,1,7,0.7
-1
-7,1.0
-0,1,7,0.9
-1
-0,1.0
-1,1,7,0.9
-1
-1,1.0
-2,1,7,0.9
-1
-2,1.0
-3,1,7,0.9
-1
-3,1.0
-4,1,7,0.9
-1
-4,1.0
-5,1,7,0.9
-1
-5,1.0
-6,1,7,0.9
-1
-6,1.0
-7,1,7,0.9
-1
-7,1.0
-0,1,8,0.1
-1
-0,1.0
-1,1,8,0.1
-1
-1,1.0
-2,1,8,0.1
-5
-2,0.7474093
-3,0.33218193
-4,0.33218193
-5,0.33218193
-6,0.33218193
-3,1,8,0.1
-5
-3,0.74740934
-2,0.33218196
-5,0.33218196
-6,0.33218196
-7,0.33218196
-4,1,8,0.1
-5
-4,0.697137
-5,0.4389381
-6,0.4389381
-2,0.30983868
-7,0.18073922
-5,1,8,0.1
-6
-5,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-6,0.17264226
-6,1,8,0.1
-6
-6,0.6659059
-4,0.41927406
-7,0.41927406
-2,0.2959582
-3,0.2959582
-5,0.17264226
-7,1,8,0.1
-5
-7,0.697137
-5,0.4389381
-6,0.4389381
-3,0.30983868
-4,0.18073922
-0,1,8,0.3
-1
-0,1.0
-1,1,8,0.3
-1
-1,1.0
-2,1,8,0.3
-5
-2,0.86824316
-3,0.24806947
-4,0.24806947
-5,0.24806947
-6,0.24806947
-3,1,8,0.3
-5
-3,0.8682432
-2,0.24806948
-5,0.24806948
-6,0.24806948
-7,0.24806948
-4,1,8,0.3
-5
-4,0.7826238
-5,0.40994576
-6,0.40994576
-2,0.2236068
-7,0.037267767
-5,1,8,0.3
-6
-5,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-6,0.036369618
-6,1,8,0.3
-6
-6,0.76376265
-4,0.40006608
-7,0.40006608
-2,0.2182179
-3,0.2182179
-5,0.036369618
-7,1,8,0.3
-5
-7,0.7826238
-5,0.40994576
-6,0.40994576
-3,0.2236068
-4,0.037267767
-0,1,8,0.5
-1
-0,1.0
-1,1,8,0.5
-1
-1,1.0
-2,1,8,0.5
-1
-2,1.0
-3,1,8,0.5
-1
-3,1.0
-4,1,8,0.5
-3
-4,0.9045341
-5,0.3015113
-6,0.3015113
-5,1,8,0.5
-3
-5,0.9045341
-4,0.3015113
-7,0.3015113
-6,1,8,0.5
-3
-6,0.9045341
-4,0.3015113
-7,0.3015113
-7,1,8,0.5
-3
-7,0.9045341
-5,0.3015113
-6,0.3015113
-0,1,8,0.7
-1
-0,1.0
-1,1,8,0.7
-1
-1,1.0
-2,1,8,0.7
-1
-2,1.0
-3,1,8,0.7
-1
-3,1.0
-4,1,8,0.7
-1
-4,1.0
-5,1,8,0.7
-1
-5,1.0
-6,1,8,0.7
-1
-6,1.0
-7,1,8,0.7
-1
-7,1.0
-0,1,8,0.9
-1
-0,1.0
-1,1,8,0.9
-1
-1,1.0
-2,1,8,0.9
-1
-2,1.0
-3,1,8,0.9
-1
-3,1.0
-4,1,8,0.9
-1
-4,1.0
-5,1,8,0.9
-1
-5,1.0
-6,1,8,0.9
-1
-6,1.0
-7,1,8,0.9
-1
-7,1.0
-0,2,1,0.1
-1
-0,1.0
-1,2,1,0.1
-1
-1,1.0
-2,2,1,0.1
-1
-2,1.0
-3,2,1,0.1
-1
-3,1.0
-4,2,1,0.1
-1
-4,1.0
-5,2,1,0.1
-1
-5,1.0
-6,2,1,0.1
-1
-6,1.0
-7,2,1,0.1
-1
-7,1.0
-0,2,1,0.3
-1
-0,1.0
-1,2,1,0.3
-1
-1,1.0
-2,2,1,0.3
-1
-2,1.0
-3,2,1,0.3
-1
-3,1.0
-4,2,1,0.3
-1
-4,1.0
-5,2,1,0.3
-1
-5,1.0
-6,2,1,0.3
-1
-6,1.0
-7,2,1,0.3
-1
-7,1.0
-0,2,1,0.5
-1
-0,1.0
-1,2,1,0.5
-1
-1,1.0
-2,2,1,0.5
-1
-2,1.0
-3,2,1,0.5
-1
-3,1.0
-4,2,1,0.5
-1
-4,1.0
-5,2,1,0.5
-1
-5,1.0
-6,2,1,0.5
-1
-6,1.0
-7,2,1,0.5
-1
-7,1.0
-0,2,1,0.7
-1
-0,1.0
-1,2,1,0.7
-1
-1,1.0
-2,2,1,0.7
-1
-2,1.0
-3,2,1,0.7
-1
-3,1.0
-4,2,1,0.7
-1
-4,1.0
-5,2,1,0.7
-1
-5,1.0
-6,2,1,0.7
-1
-6,1.0
-7,2,1,0.7
-1
-7,1.0
-0,2,1,0.9
-1
-0,1.0
-1,2,1,0.9
-1
-1,1.0
-2,2,1,0.9
-1
-2,1.0
-3,2,1,0.9
-1
-3,1.0
-4,2,1,0.9
-1
-4,1.0
-5,2,1,0.9
-1
-5,1.0
-6,2,1,0.9
-1
-6,1.0
-7,2,1,0.9
-1
-7,1.0
-0,2,2,0.1
-1
-0,1.0
-1,2,2,0.1
-1
-1,1.0
-2,2,2,0.1
-2
-2,0.91381156
-4,0.4061385
-3,2,2,0.1
-2
-3,0.91381156
-6,0.4061385
-4,2,2,0.1
-2
-4,0.84623283
-5,0.53281325
-5,2,2,0.1
-2
-5,0.84623283
-4,0.53281325
-6,2,2,0.1
-2
-6,0.84623283
-7,0.53281325
-7,2,2,0.1
-2
-7,0.84623283
-6,0.53281325
-0,2,2,0.3
-1
-0,1.0
-1,2,2,0.3
-1
-1,1.0
-2,2,2,0.3
-2
-2,0.96152395
-4,0.27472112
-3,2,2,0.3
-2
-3,0.96152395
-6,0.27472112
-4,2,2,0.3
-2
-4,0.88583153
-5,0.4640069
-5,2,2,0.3
-2
-5,0.88583153
-4,0.4640069
-6,2,2,0.3
-2
-6,0.88583153
-7,0.4640069
-7,2,2,0.3
-2
-7,0.88583153
-6,0.4640069
-0,2,2,0.5
-1
-0,1.0
-1,2,2,0.5
-1
-1,1.0
-2,2,2,0.5
-1
-2,1.0
-3,2,2,0.5
-1
-3,1.0
-4,2,2,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,2,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,2,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,2,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,2,0.7
-1
-0,1.0
-1,2,2,0.7
-1
-1,1.0
-2,2,2,0.7
-1
-2,1.0
-3,2,2,0.7
-1
-3,1.0
-4,2,2,0.7
-1
-4,1.0
-5,2,2,0.7
-1
-5,1.0
-6,2,2,0.7
-1
-6,1.0
-7,2,2,0.7
-1
-7,1.0
-0,2,2,0.9
-1
-0,1.0
-1,2,2,0.9
-1
-1,1.0
-2,2,2,0.9
-1
-2,1.0
-3,2,2,0.9
-1
-3,1.0
-4,2,2,0.9
-1
-4,1.0
-5,2,2,0.9
-1
-5,1.0
-6,2,2,0.9
-1
-6,1.0
-7,2,2,0.9
-1
-7,1.0
-0,2,3,0.1
-1
-0,1.0
-1,2,3,0.1
-1
-1,1.0
-2,2,3,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,3,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,3,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,3,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,3,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,3,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,3,0.3
-1
-0,1.0
-1,2,3,0.3
-1
-1,1.0
-2,2,3,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,3,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,3,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,3,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,3,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,3,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,3,0.5
-1
-0,1.0
-1,2,3,0.5
-1
-1,1.0
-2,2,3,0.5
-1
-2,1.0
-3,2,3,0.5
-1
-3,1.0
-4,2,3,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,3,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,3,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,3,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,3,0.7
-1
-0,1.0
-1,2,3,0.7
-1
-1,1.0
-2,2,3,0.7
-1
-2,1.0
-3,2,3,0.7
-1
-3,1.0
-4,2,3,0.7
-1
-4,1.0
-5,2,3,0.7
-1
-5,1.0
-6,2,3,0.7
-1
-6,1.0
-7,2,3,0.7
-1
-7,1.0
-0,2,3,0.9
-1
-0,1.0
-1,2,3,0.9
-1
-1,1.0
-2,2,3,0.9
-1
-2,1.0
-3,2,3,0.9
-1
-3,1.0
-4,2,3,0.9
-1
-4,1.0
-5,2,3,0.9
-1
-5,1.0
-6,2,3,0.9
-1
-6,1.0
-7,2,3,0.9
-1
-7,1.0
-0,2,4,0.1
-1
-0,1.0
-1,2,4,0.1
-1
-1,1.0
-2,2,4,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,4,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,4,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,4,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,4,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,4,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,4,0.3
-1
-0,1.0
-1,2,4,0.3
-1
-1,1.0
-2,2,4,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,4,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,4,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,4,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,4,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,4,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,4,0.5
-1
-0,1.0
-1,2,4,0.5
-1
-1,1.0
-2,2,4,0.5
-1
-2,1.0
-3,2,4,0.5
-1
-3,1.0
-4,2,4,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,4,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,4,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,4,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,4,0.7
-1
-0,1.0
-1,2,4,0.7
-1
-1,1.0
-2,2,4,0.7
-1
-2,1.0
-3,2,4,0.7
-1
-3,1.0
-4,2,4,0.7
-1
-4,1.0
-5,2,4,0.7
-1
-5,1.0
-6,2,4,0.7
-1
-6,1.0
-7,2,4,0.7
-1
-7,1.0
-0,2,4,0.9
-1
-0,1.0
-1,2,4,0.9
-1
-1,1.0
-2,2,4,0.9
-1
-2,1.0
-3,2,4,0.9
-1
-3,1.0
-4,2,4,0.9
-1
-4,1.0
-5,2,4,0.9
-1
-5,1.0
-6,2,4,0.9
-1
-6,1.0
-7,2,4,0.9
-1
-7,1.0
-0,2,5,0.1
-1
-0,1.0
-1,2,5,0.1
-1
-1,1.0
-2,2,5,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,5,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,5,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,5,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,5,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,5,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,5,0.3
-1
-0,1.0
-1,2,5,0.3
-1
-1,1.0
-2,2,5,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,5,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,5,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,5,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,5,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,5,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,5,0.5
-1
-0,1.0
-1,2,5,0.5
-1
-1,1.0
-2,2,5,0.5
-1
-2,1.0
-3,2,5,0.5
-1
-3,1.0
-4,2,5,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,5,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,5,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,5,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,5,0.7
-1
-0,1.0
-1,2,5,0.7
-1
-1,1.0
-2,2,5,0.7
-1
-2,1.0
-3,2,5,0.7
-1
-3,1.0
-4,2,5,0.7
-1
-4,1.0
-5,2,5,0.7
-1
-5,1.0
-6,2,5,0.7
-1
-6,1.0
-7,2,5,0.7
-1
-7,1.0
-0,2,5,0.9
-1
-0,1.0
-1,2,5,0.9
-1
-1,1.0
-2,2,5,0.9
-1
-2,1.0
-3,2,5,0.9
-1
-3,1.0
-4,2,5,0.9
-1
-4,1.0
-5,2,5,0.9
-1
-5,1.0
-6,2,5,0.9
-1
-6,1.0
-7,2,5,0.9
-1
-7,1.0
-0,2,6,0.1
-1
-0,1.0
-1,2,6,0.1
-1
-1,1.0
-2,2,6,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,6,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,6,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,6,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,6,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,6,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,6,0.3
-1
-0,1.0
-1,2,6,0.3
-1
-1,1.0
-2,2,6,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,6,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,6,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,6,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,6,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,6,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,6,0.5
-1
-0,1.0
-1,2,6,0.5
-1
-1,1.0
-2,2,6,0.5
-1
-2,1.0
-3,2,6,0.5
-1
-3,1.0
-4,2,6,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,6,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,6,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,6,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,6,0.7
-1
-0,1.0
-1,2,6,0.7
-1
-1,1.0
-2,2,6,0.7
-1
-2,1.0
-3,2,6,0.7
-1
-3,1.0
-4,2,6,0.7
-1
-4,1.0
-5,2,6,0.7
-1
-5,1.0
-6,2,6,0.7
-1
-6,1.0
-7,2,6,0.7
-1
-7,1.0
-0,2,6,0.9
-1
-0,1.0
-1,2,6,0.9
-1
-1,1.0
-2,2,6,0.9
-1
-2,1.0
-3,2,6,0.9
-1
-3,1.0
-4,2,6,0.9
-1
-4,1.0
-5,2,6,0.9
-1
-5,1.0
-6,2,6,0.9
-1
-6,1.0
-7,2,6,0.9
-1
-7,1.0
-0,2,7,0.1
-1
-0,1.0
-1,2,7,0.1
-1
-1,1.0
-2,2,7,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,7,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,7,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,7,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,7,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,7,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,7,0.3
-1
-0,1.0
-1,2,7,0.3
-1
-1,1.0
-2,2,7,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,7,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,7,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,7,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,7,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,7,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,7,0.5
-1
-0,1.0
-1,2,7,0.5
-1
-1,1.0
-2,2,7,0.5
-1
-2,1.0
-3,2,7,0.5
-1
-3,1.0
-4,2,7,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,7,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,7,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,7,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,7,0.7
-1
-0,1.0
-1,2,7,0.7
-1
-1,1.0
-2,2,7,0.7
-1
-2,1.0
-3,2,7,0.7
-1
-3,1.0
-4,2,7,0.7
-1
-4,1.0
-5,2,7,0.7
-1
-5,1.0
-6,2,7,0.7
-1
-6,1.0
-7,2,7,0.7
-1
-7,1.0
-0,2,7,0.9
-1
-0,1.0
-1,2,7,0.9
-1
-1,1.0
-2,2,7,0.9
-1
-2,1.0
-3,2,7,0.9
-1
-3,1.0
-4,2,7,0.9
-1
-4,1.0
-5,2,7,0.9
-1
-5,1.0
-6,2,7,0.9
-1
-6,1.0
-7,2,7,0.9
-1
-7,1.0
-0,2,8,0.1
-1
-0,1.0
-1,2,8,0.1
-1
-1,1.0
-2,2,8,0.1
-3
-2,0.84664875
-4,0.37628835
-5,0.37628835
-3,2,8,0.1
-3
-3,0.84664875
-6,0.37628835
-7,0.37628835
-4,2,8,0.1
-3
-4,0.7920648
-5,0.49870744
-2,0.35202882
-5,2,8,0.1
-3
-5,0.7920648
-4,0.49870744
-2,0.35202882
-6,2,8,0.1
-3
-6,0.7920648
-7,0.49870744
-3,0.35202882
-7,2,8,0.1
-3
-7,0.7920648
-6,0.49870744
-3,0.35202882
-0,2,8,0.3
-1
-0,1.0
-1,2,8,0.3
-1
-1,1.0
-2,2,8,0.3
-3
-2,0.92717266
-4,0.26490647
-5,0.26490647
-3,2,8,0.3
-3
-3,0.92717266
-6,0.26490647
-7,0.26490647
-4,2,8,0.3
-3
-4,0.85875386
-5,0.44982338
-2,0.24535823
-5,2,8,0.3
-3
-5,0.85875386
-4,0.44982338
-2,0.24535823
-6,2,8,0.3
-3
-6,0.85875386
-7,0.44982338
-3,0.24535823
-7,2,8,0.3
-3
-7,0.85875386
-6,0.44982338
-3,0.24535823
-0,2,8,0.5
-1
-0,1.0
-1,2,8,0.5
-1
-1,1.0
-2,2,8,0.5
-1
-2,1.0
-3,2,8,0.5
-1
-3,1.0
-4,2,8,0.5
-2
-4,0.9486833
-5,0.3162277
-5,2,8,0.5
-2
-5,0.9486833
-4,0.3162277
-6,2,8,0.5
-2
-6,0.9486833
-7,0.3162277
-7,2,8,0.5
-2
-7,0.9486833
-6,0.3162277
-0,2,8,0.7
-1
-0,1.0
-1,2,8,0.7
-1
-1,1.0
-2,2,8,0.7
-1
-2,1.0
-3,2,8,0.7
-1
-3,1.0
-4,2,8,0.7
-1
-4,1.0
-5,2,8,0.7
-1
-5,1.0
-6,2,8,0.7
-1
-6,1.0
-7,2,8,0.7
-1
-7,1.0
-0,2,8,0.9
-1
-0,1.0
-1,2,8,0.9
-1
-1,1.0
-2,2,8,0.9
-1
-2,1.0
-3,2,8,0.9
-1
-3,1.0
-4,2,8,0.9
-1
-4,1.0
-5,2,8,0.9
-1
-5,1.0
-6,2,8,0.9
-1
-6,1.0
-7,2,8,0.9
-1
-7,1.0

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/Lucene.Net.Tests.Sandbox/packages.config
----------------------------------------------------------------------
diff --git a/Lucene.Net.Tests.Sandbox/packages.config b/Lucene.Net.Tests.Sandbox/packages.config
deleted file mode 100644
index 139d513..0000000
--- a/Lucene.Net.Tests.Sandbox/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="NUnit" version="2.6.3" targetFramework="net451" />
-</packages>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/Lucene.Net.sln
----------------------------------------------------------------------
diff --git a/Lucene.Net.sln b/Lucene.Net.sln
index 5a460ce..e044692 100644
--- a/Lucene.Net.sln
+++ b/Lucene.Net.sln
@@ -74,9 +74,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Spatial", "src\L
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.Spatial", "src\Lucene.Net.Tests.Spatial\Lucene.Net.Tests.Spatial.csproj", "{31F52F5C-A08F-4363-8003-23D6F7D6EB3A}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Sandbox", "Lucene.Net.Sandbox\Lucene.Net.Sandbox.csproj", "{13274BA9-9052-4354-8FFE-E3F32593368F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Sandbox", "src\Lucene.Net.Sandbox\Lucene.Net.Sandbox.csproj", "{13274BA9-9052-4354-8FFE-E3F32593368F}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.Sandbox", "Lucene.Net.Tests.Sandbox\Lucene.Net.Tests.Sandbox.csproj", "{7865CBC8-2C6B-462C-ACF5-B2C4D60D93C9}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.Sandbox", "src\Lucene.Net.Tests.Sandbox\Lucene.Net.Tests.Sandbox.csproj", "{7865CBC8-2C6B-462C-ACF5-B2C4D60D93C9}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
index bee959e..4644ef6 100644
--- a/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
+++ b/src/Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj
@@ -254,10 +254,6 @@
     <Compile Include="Xml\QueryTemplateManager.cs" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\Lucene.Net.Sandbox\Lucene.Net.Sandbox.csproj">
-      <Project>{13274BA9-9052-4354-8FFE-E3F32593368F}</Project>
-      <Name>Lucene.Net.Sandbox</Name>
-    </ProjectReference>
     <ProjectReference Include="..\Lucene.Net.Analysis.Common\Lucene.Net.Analysis.Common.csproj">
       <Project>{4add0bbc-b900-4715-9526-d871de8eea64}</Project>
       <Name>Lucene.Net.Analysis.Common</Name>
@@ -270,6 +266,10 @@
       <Project>{69d7956c-c2cc-4708-b399-a188fec384c4}</Project>
       <Name>Lucene.Net.Queries</Name>
     </ProjectReference>
+    <ProjectReference Include="..\Lucene.Net.Sandbox\Lucene.Net.Sandbox.csproj">
+      <Project>{13274ba9-9052-4354-8ffe-e3f32593368f}</Project>
+      <Name>Lucene.Net.Sandbox</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="Flexible\Core\Messages\QueryParserMessagesBundle.resx">

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
new file mode 100644
index 0000000..2be4452
--- /dev/null
+++ b/src/Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{13274BA9-9052-4354-8FFE-E3F32593368F}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Lucene.Net.Sandbox</RootNamespace>
+    <AssemblyName>Lucene.Net.Sandbox</AssemblyName>
+    <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Queries\DuplicateFilter.cs" />
+    <Compile Include="Queries\FuzzyLikeThisQuery.cs" />
+    <Compile Include="Queries\SlowFuzzyQuery.cs" />
+    <Compile Include="Queries\SlowFuzzyTermsEnum.cs" />
+    <Compile Include="Queries\SortedSetSortField.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Lucene.Net.Core\Lucene.Net.csproj">
+      <Project>{5D4AD9BE-1FFB-41AB-9943-25737971BF57}</Project>
+      <Name>Lucene.Net</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs b/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..de4e151
--- /dev/null
+++ b/src/Lucene.Net.Sandbox/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Lucene.Net.Sandbox")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Lucene.Net.Sandbox")]
+[assembly: AssemblyCopyright("Copyright ©  2016")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("13274ba9-9052-4354-8ffe-e3f32593368f")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/87245e31/src/Lucene.Net.Sandbox/Queries/DuplicateFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Sandbox/Queries/DuplicateFilter.cs b/src/Lucene.Net.Sandbox/Queries/DuplicateFilter.cs
new file mode 100644
index 0000000..0b93138
--- /dev/null
+++ b/src/Lucene.Net.Sandbox/Queries/DuplicateFilter.cs
@@ -0,0 +1,265 @@
+using Lucene.Net.Index;
+using Lucene.Net.Search;
+using Lucene.Net.Util;
+
+namespace Lucene.Net.Sandbox.Queries
+{
+    /*
+     * 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.
+     * 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
+     *
+     *     http://www.apache.org/licenses/LICENSE-2.0
+     *
+     * Unless required by applicable law or agreed to in writing, software
+     * distributed under the License is distributed on an "AS IS" BASIS,
+     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     * See the License for the specific language governing permissions and
+     * limitations under the License.
+     */
+
+    /// <summary>
+    /// Filter to remove duplicate values from search results.
+    /// <para/>
+    /// WARNING: for this to work correctly, you may have to wrap
+    /// your reader as it cannot current deduplicate across different
+    /// index segments.
+    /// </summary>
+    /// <seealso cref="SlowCompositeReaderWrapper"/>
+    public class DuplicateFilter : Filter
+    {
+        // TODO: make duplicate filter aware of ReaderContext such that we can
+        // filter duplicates across segments
+
+        // LUCENENET NOTE: KeepMode enum moved outside of this class to avoid naming collisions
+
+        private KeepMode keepMode;
+
+        // LUCENENET NOTE: ProcessingMode enum moved outside of this class to avoid naming collisions
+
+        private ProcessingMode processingMode;
+
+        private string fieldName;
+
+        public DuplicateFilter(string fieldName)
+            : this(fieldName, KeepMode.KM_USE_LAST_OCCURRENCE, ProcessingMode.PM_FULL_VALIDATION)
+        {
+        }
+
+        public DuplicateFilter(string fieldName, KeepMode keepMode, ProcessingMode processingMode)
+        {
+            this.fieldName = fieldName;
+            this.keepMode = keepMode;
+            this.processingMode = processingMode;
+        }
+
+
+        public override DocIdSet GetDocIdSet(AtomicReaderContext context, Bits acceptDocs)
+        {
+            if (processingMode == ProcessingMode.PM_FAST_INVALIDATION)
+            {
+                return FastBits(context.AtomicReader, acceptDocs);
+            }
+            else
+            {
+                return CorrectBits(context.AtomicReader, acceptDocs);
+            }
+        }
+
+        private FixedBitSet CorrectBits(AtomicReader reader, Bits acceptDocs)
+        {
+            FixedBitSet bits = new FixedBitSet(reader.MaxDoc); //assume all are INvalid
+            Terms terms = reader.Fields.Terms(fieldName);
+
+            if (terms == null)
+            {
+                return bits;
+            }
+
+            TermsEnum termsEnum = terms.Iterator(null);
+            DocsEnum docs = null;
+            while (true)
+            {
+                BytesRef currTerm = termsEnum.Next();
+                if (currTerm == null)
+                {
+                    break;
+                }
+                else
+                {
+                    docs = termsEnum.Docs(acceptDocs, docs, DocsEnum.FLAG_NONE);
+                    int doc = docs.NextDoc();
+                    if (doc != DocIdSetIterator.NO_MORE_DOCS)
+                    {
+                        if (keepMode == KeepMode.KM_USE_FIRST_OCCURRENCE)
+                        {
+                            bits.Set(doc);
+                        }
+                        else
+                        {
+                            int lastDoc = doc;
+                            while (true)
+                            {
+                                lastDoc = doc;
+                                doc = docs.NextDoc();
+                                if (doc == DocIdSetIterator.NO_MORE_DOCS)
+                                {
+                                    break;
+                                }
+                            }
+                            bits.Set(lastDoc);
+                        }
+                    }
+                }
+            }
+            return bits;
+        }
+
+        private FixedBitSet FastBits(AtomicReader reader, Bits acceptDocs)
+        {
+            FixedBitSet bits = new FixedBitSet(reader.MaxDoc);
+            bits.Set(0, reader.MaxDoc); //assume all are valid
+            Terms terms = reader.Fields.Terms(fieldName);
+
+            if (terms == null)
+            {
+                return bits;
+            }
+
+            TermsEnum termsEnum = terms.Iterator(null);
+            DocsEnum docs = null;
+            while (true)
+            {
+                BytesRef currTerm = termsEnum.Next();
+                if (currTerm == null)
+                {
+                    break;
+                }
+                else
+                {
+                    if (termsEnum.DocFreq() > 1)
+                    {
+                        // unset potential duplicates
+                        docs = termsEnum.Docs(acceptDocs, docs, DocsEnum.FLAG_NONE);
+                        int doc = docs.NextDoc();
+                        if (doc != DocIdSetIterator.NO_MORE_DOCS)
+                        {
+                            if (keepMode == KeepMode.KM_USE_FIRST_OCCURRENCE)
+                            {
+                                doc = docs.NextDoc();
+                            }
+                        }
+
+                        int lastDoc = -1;
+                        while (true)
+                        {
+                            lastDoc = doc;
+                            bits.Clear(lastDoc);
+                            doc = docs.NextDoc();
+                            if (doc == DocIdSetIterator.NO_MORE_DOCS)
+                            {
+                                break;
+                            }
+                        }
+
+                        if (keepMode == KeepMode.KM_USE_LAST_OCCURRENCE)
+                        {
+                            // restore the last bit
+                            bits.Set(lastDoc);
+                        }
+                    }
+                }
+            }
+
+            return bits;
+        }
+
+        public virtual string FieldName
+        {
+            get { return fieldName; }
+            set { this.fieldName = value; }
+        }
+
+        public KeepMode KeepMode
+        {
+            get { return keepMode; }
+            set { keepMode = value; }
+        }
+
+
+        public override bool Equals(object obj)
+        {
+            if (this == obj)
+            {
+                return true;
+            }
+            if ((obj == null) || (obj.GetType() != this.GetType()))
+            {
+                return false;
+            }
+
+            DuplicateFilter other = (DuplicateFilter)obj;
+            return keepMode == other.keepMode &&
+                processingMode == other.processingMode &&
+                fieldName != null && fieldName.Equals(other.fieldName);
+        }
+
+
+        public override int GetHashCode()
+        {
+            int hash = 217;
+            hash = 31 * hash + keepMode.GetHashCode();
+            hash = 31 * hash + processingMode.GetHashCode();
+            hash = 31 * hash + fieldName.GetHashCode();
+            return hash;
+        }
+
+        public ProcessingMode ProcessingMode
+        {
+            get { return processingMode; }
+            set { processingMode = value; }
+        }
+    }
+
+    /// <summary>
+    /// KeepMode determines which document id to consider as the master, all others being
+    /// identified as duplicates. Selecting the "first occurrence" can potentially save on IO.
+    /// </summary>
+    public enum KeepMode
+    {
+        KM_USE_FIRST_OCCURRENCE,
+
+        KM_USE_LAST_OCCURRENCE
+    }
+
+    /// <summary>
+    /// "Full" processing mode starts by setting all bits to false and only setting bits
+    /// for documents that contain the given field and are identified as none-duplicates.
+    /// <para/>
+    /// "Fast" processing sets all bits to true then unsets all duplicate docs found for the
+    /// given field. This approach avoids the need to read DocsEnum for terms that are seen
+    /// to have a document frequency of exactly "1" (i.e. no duplicates). While a potentially
+    /// faster approach , the downside is that bitsets produced will include bits set for
+    /// documents that do not actually contain the field given.
+    /// </summary>
+    public enum ProcessingMode
+    {
+        /// <summary>
+        /// "Full" processing mode starts by setting all bits to false and only setting bits
+        /// for documents that contain the given field and are identified as none-duplicates.
+        /// </summary>
+        PM_FULL_VALIDATION,
+
+        /// <summary>
+        /// "Fast" processing sets all bits to true then unsets all duplicate docs found for the
+        /// given field. This approach avoids the need to read DocsEnum for terms that are seen
+        /// to have a document frequency of exactly "1" (i.e. no duplicates). While a potentially
+        /// faster approach , the downside is that bitsets produced will include bits set for
+        /// documents that do not actually contain the field given.
+        /// </summary>
+        PM_FAST_INVALIDATION
+    }
+}


Mime
View raw message