You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by pn...@apache.org on 2011/05/07 08:22:27 UTC
[Lucene.Net] svn commit: r1100459 [6/6] - in
/incubator/lucene.net/branches/Lucene.Net_2_9_4g: ./ src/core/
src/core/Analysis/ src/core/Analysis/Standard/
src/core/Analysis/Tokenattributes/ src/core/Document/ src/core/Index/
src/core/QueryParser/ src/core/Search/ s...
Added: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestOldPatches.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestOldPatches.cs?rev=1100459&view=auto
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestOldPatches.cs (added)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestOldPatches.cs Sat May 7 06:22:20 2011
@@ -0,0 +1,280 @@
+/*
+ * 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.
+ */
+
+using System;
+using Lucene.Net.Analysis;
+using Lucene.Net.Documents;
+using Lucene.Net.Index;
+using Lucene.Net.Search;
+using Lucene.Net.Store;
+using NUnit.Framework;
+
+namespace Lucene.Net.Support
+{
+ [TestFixture]
+ [Serializable]
+ public class TestOldPatches
+ {
+ //-------------------------------------------
+ [Test]
+ [Description("LUCENENET-183")]
+ public void Test_SegmentTermVector_IndexOf()
+ {
+ Lucene.Net.Store.RAMDirectory directory = new Lucene.Net.Store.RAMDirectory();
+ Lucene.Net.Analysis.Analyzer analyzer = new Lucene.Net.Analysis.WhitespaceAnalyzer();
+ Lucene.Net.Index.IndexWriter writer = new Lucene.Net.Index.IndexWriter(directory, analyzer, Lucene.Net.Index.IndexWriter.MaxFieldLength.LIMITED);
+ Lucene.Net.Documents.Document document = new Lucene.Net.Documents.Document();
+ document.Add(new Lucene.Net.Documents.Field("contents", new System.IO.StreamReader(new System.IO.MemoryStream(System.Text.Encoding.ASCII.GetBytes("a_ a0"))), Lucene.Net.Documents.Field.TermVector.WITH_OFFSETS));
+ writer.AddDocument(document);
+ Lucene.Net.Index.IndexReader reader = writer.GetReader();
+ Lucene.Net.Index.TermPositionVector tpv = reader.GetTermFreqVector(0, "contents") as Lucene.Net.Index.TermPositionVector;
+ //Console.WriteLine("tpv: " + tpv);
+ int index = tpv.IndexOf("a_");
+ Assert.AreEqual(index, 1, "See the issue: LUCENENET-183");
+ }
+
+ //-------------------------------------------
+ [Test]
+ [Description("LUCENENET-170")]
+ public void Test_Util_Parameter()
+ {
+ Lucene.Net.Search.BooleanQuery queryPreSerialized = new Lucene.Net.Search.BooleanQuery();
+ queryPreSerialized.Add(new Lucene.Net.Search.TermQuery(new Lucene.Net.Index.Term("country", "Russia")), Lucene.Net.Search.BooleanClause.Occur.MUST);
+ queryPreSerialized.Add(new Lucene.Net.Search.TermQuery(new Lucene.Net.Index.Term("country", "France")), Lucene.Net.Search.BooleanClause.Occur.MUST);
+
+ //now serialize it
+ System.Runtime.Serialization.Formatters.Binary.BinaryFormatter serializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
+ System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
+ serializer.Serialize(memoryStream, queryPreSerialized);
+
+ //now deserialize
+ memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
+ Lucene.Net.Search.BooleanQuery queryPostSerialized = (Lucene.Net.Search.BooleanQuery)serializer.Deserialize(memoryStream);
+
+ memoryStream.Close();
+
+ Assert.AreEqual(queryPreSerialized, queryPostSerialized, "See the issue: LUCENENET-170");
+ }
+
+ //-------------------------------------------
+ [Test]
+ [Description("LUCENENET-174")]
+ public void Test_Store_RAMDirectory()
+ {
+ Lucene.Net.Store.RAMDirectory ramDIR = new Lucene.Net.Store.RAMDirectory();
+
+ //Index 1 Doc
+ Lucene.Net.Index.IndexWriter wr = new Lucene.Net.Index.IndexWriter(ramDIR, new Lucene.Net.Analysis.WhitespaceAnalyzer(), true);
+ Lucene.Net.Documents.Document doc = new Lucene.Net.Documents.Document();
+ doc.Add(new Lucene.Net.Documents.Field("field1", "value1 value11", Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.TOKENIZED));
+ wr.AddDocument(doc);
+ wr.Close();
+
+ //now serialize it
+ System.Runtime.Serialization.Formatters.Binary.BinaryFormatter serializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
+ System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
+ serializer.Serialize(memoryStream, ramDIR);
+
+ //Close DIR
+ ramDIR.Close();
+ ramDIR = null;
+
+ //now deserialize
+ memoryStream.Seek(0, System.IO.SeekOrigin.Begin);
+ Lucene.Net.Store.RAMDirectory ramDIR2 = (Lucene.Net.Store.RAMDirectory)serializer.Deserialize(memoryStream);
+
+ //Add 1 more doc
+ wr = new Lucene.Net.Index.IndexWriter(ramDIR2, new Lucene.Net.Analysis.WhitespaceAnalyzer(), false);
+ doc = new Lucene.Net.Documents.Document();
+ doc.Add(new Lucene.Net.Documents.Field("field1", "value1 value11", Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.TOKENIZED));
+ wr.AddDocument(doc);
+ wr.Close();
+
+ //Search
+ Lucene.Net.Search.IndexSearcher s = new Lucene.Net.Search.IndexSearcher(ramDIR2);
+ Lucene.Net.QueryParsers.QueryParser qp = new Lucene.Net.QueryParsers.QueryParser("field1", new Lucene.Net.Analysis.Standard.StandardAnalyzer());
+ Lucene.Net.Search.Query q = qp.Parse("value1");
+ Lucene.Net.Search.TopDocs topDocs = s.Search(q, 100);
+ s.Close();
+
+ Assert.AreEqual(topDocs.TotalHits, 2, "See the issue: LUCENENET-174");
+ }
+
+
+
+ //-------------------------------------------
+ [Test]
+ [Description("LUCENENET-150")]
+ public void Test_Index_ReusableStringReader()
+ {
+ Lucene.Net.Index.IndexWriter wr = new Lucene.Net.Index.IndexWriter(new Lucene.Net.Store.RAMDirectory(), new TestAnalyzer(), true);
+
+ Lucene.Net.Documents.Document doc = new Lucene.Net.Documents.Document();
+ Lucene.Net.Documents.Field f1 = new Lucene.Net.Documents.Field("f1", TEST_STRING, Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.TOKENIZED);
+ doc.Add(f1);
+ wr.AddDocument(doc);
+
+ wr.Close();
+ }
+
+ static string TEST_STRING = "Some Text and some more Text";
+
+ class TestAnalyzer : Lucene.Net.Analysis.Analyzer
+ {
+ public override Lucene.Net.Analysis.TokenStream TokenStream(string fieldName, System.IO.TextReader reader)
+ {
+ return new TestTokenizer(reader);
+ }
+ }
+
+ class TestTokenizer : Lucene.Net.Analysis.CharTokenizer
+ {
+ public TestTokenizer(System.IO.TextReader Reader)
+ : base(Reader)
+ {
+ //Caution: "Reader" is actually of type "ReusableStringReader" and some
+ //methods (for ex. "ReadToEnd", "Peek", "ReadLine") is not implemented.
+ Assert.AreEqual(TEST_STRING, Reader.ReadToEnd(), "Issue LUCENENET-150: \"ReadToEnd\" method is not implemented");
+ }
+
+ protected override bool IsTokenChar(char c)
+ {
+ return char.IsLetterOrDigit(c);
+ }
+ }
+
+ [Test]
+ [Description("LUCENENET-374")]
+ public void Test_IndexReader_IsCurrent()
+ {
+ RAMDirectory ramDir = new RAMDirectory();
+ IndexWriter writer = new IndexWriter(ramDir, new KeywordAnalyzer(), true, new IndexWriter.MaxFieldLength(1000));
+ Field field = new Field("TEST", "mytest", Field.Store.YES, Field.Index.ANALYZED);
+ Document doc = new Document();
+ doc.Add(field);
+ writer.AddDocument(doc);
+
+ IndexReader reader = writer.GetReader();
+
+ writer.DeleteDocuments(new Lucene.Net.Index.Term("TEST", "mytest"));
+
+ Assert.IsFalse(reader.IsCurrent());
+
+ int resCount1 = new IndexSearcher(reader).Search(new TermQuery(new Term("TEST", "mytest")),100).TotalHits;
+ Assert.AreEqual(1, resCount1);
+
+ writer.Commit();
+
+ Assert.IsFalse(reader.IsCurrent());
+
+ int resCount2 = new IndexSearcher(reader).Search(new TermQuery(new Term("TEST", "mytest")),100).TotalHits;
+ Assert.AreEqual(1, resCount2, "Reopen not invoked yet, resultCount must still be 1.");
+
+ reader = reader.Reopen();
+ Assert.IsTrue(reader.IsCurrent());
+
+ int resCount3 = new IndexSearcher(reader).Search(new TermQuery(new Term("TEST", "mytest")), 100).TotalHits;
+ Assert.AreEqual(0, resCount3, "After reopen, resultCount must be 0.");
+
+ reader.Close();
+ writer.Close();
+ }
+
+
+ //-------------------------------------------
+ int ANYPORT = 0;
+ [Test]
+ [Description("LUCENENET-100")]
+ public void Test_Search_FieldDoc()
+ {
+ ANYPORT = new Random((int)(DateTime.Now.Ticks & 0x7fffffff)).Next(50000) + 10000;
+ LUCENENET_100_CreateIndex();
+
+ try
+ {
+ System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(new System.Runtime.Remoting.Channels.Tcp.TcpChannel(ANYPORT),false);
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex.Message);
+ }
+
+ Lucene.Net.Search.IndexSearcher indexSearcher = new Lucene.Net.Search.IndexSearcher(LUCENENET_100_Dir);
+ System.Runtime.Remoting.RemotingServices.Marshal(indexSearcher, "Searcher");
+
+ LUCENENET_100_ClientSearch();
+
+ //Wait Client to finish
+ while (LUCENENET_100_testFinished == false) System.Threading.Thread.Sleep(10);
+
+ if (LUCENENET_100_Exception != null) throw LUCENENET_100_Exception;
+ }
+
+ Lucene.Net.Store.RAMDirectory LUCENENET_100_Dir = new Lucene.Net.Store.RAMDirectory();
+ bool LUCENENET_100_testFinished = false;
+ Exception LUCENENET_100_Exception = null;
+
+
+ void LUCENENET_100_ClientSearch()
+ {
+ try
+ {
+ Lucene.Net.Search.Searchable s = (Lucene.Net.Search.Searchable)Activator.GetObject(typeof(Lucene.Net.Search.Searchable), @"tcp://localhost:" + ANYPORT + "/Searcher");
+ Lucene.Net.Search.MultiSearcher searcher = new Lucene.Net.Search.MultiSearcher(new Lucene.Net.Search.Searchable[] { s });
+
+ Lucene.Net.Search.Query q = new Lucene.Net.Search.TermQuery(new Lucene.Net.Index.Term("field1", "moon"));
+
+ Lucene.Net.Search.Sort sort = new Lucene.Net.Search.Sort();
+ sort.SetSort(new Lucene.Net.Search.SortField("field2", Lucene.Net.Search.SortField.INT));
+
+ Lucene.Net.Search.TopDocs h = searcher.Search(q, null,100, sort);
+ if (h.ScoreDocs.Length != 2) LUCENENET_100_Exception = new Exception("Test_Search_FieldDoc Error. ");
+ }
+ catch (Exception ex)
+ {
+ LUCENENET_100_Exception = ex;
+ }
+ finally
+ {
+ LUCENENET_100_testFinished = true;
+ }
+ }
+
+ void LUCENENET_100_CreateIndex()
+ {
+ Lucene.Net.Index.IndexWriter w = new Lucene.Net.Index.IndexWriter(LUCENENET_100_Dir, new Lucene.Net.Analysis.Standard.StandardAnalyzer(), true);
+
+ Lucene.Net.Documents.Field f1 = new Lucene.Net.Documents.Field("field1", "dark side of the moon", Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.TOKENIZED);
+ Lucene.Net.Documents.Field f2 = new Lucene.Net.Documents.Field("field2", "123", Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.UN_TOKENIZED);
+ Lucene.Net.Documents.Document d = new Lucene.Net.Documents.Document();
+ d.Add(f1);
+ d.Add(f2);
+ w.AddDocument(d);
+
+ f1 = new Lucene.Net.Documents.Field("field1", "Fly me to the moon", Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.TOKENIZED);
+ f2 = new Lucene.Net.Documents.Field("field2", "456", Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.UN_TOKENIZED);
+ d = new Lucene.Net.Documents.Document();
+ d.Add(f1);
+ d.Add(f2);
+ w.AddDocument(d);
+
+ w.Close();
+ }
+
+ //-------------------------------------------
+ }
+}
\ No newline at end of file
Added: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestSerialization.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestSerialization.cs?rev=1100459&view=auto
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestSerialization.cs (added)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestSerialization.cs Sat May 7 06:22:20 2011
@@ -0,0 +1,94 @@
+/*
+ * 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.
+ */
+
+using NUnit.Framework;
+
+namespace Lucene.Net.Support
+{
+ [TestFixture]
+ public class TestSerialization
+ {
+ Lucene.Net.Store.RAMDirectory dir = null;
+
+ [SetUp]
+ public void Setup()
+ {
+ dir = new Lucene.Net.Store.RAMDirectory();
+ Index();
+ }
+
+ void Index()
+ {
+ Lucene.Net.Index.IndexWriter wr = new Lucene.Net.Index.IndexWriter(dir, new Lucene.Net.Analysis.WhitespaceAnalyzer(), Lucene.Net.Index.IndexWriter.MaxFieldLength.UNLIMITED);
+
+ Lucene.Net.Documents.Document doc = null;
+ Lucene.Net.Documents.Field f = null;
+
+ doc = new Lucene.Net.Documents.Document();
+ f = new Lucene.Net.Documents.Field("field", "a b c d", Lucene.Net.Documents.Field.Store.NO, Lucene.Net.Documents.Field.Index.ANALYZED);
+ doc.Add(f);
+ wr.AddDocument(doc);
+
+ doc = new Lucene.Net.Documents.Document();
+ f = new Lucene.Net.Documents.Field("field", "a b a d", Lucene.Net.Documents.Field.Store.NO, Lucene.Net.Documents.Field.Index.ANALYZED);
+ doc.Add(f);
+ wr.AddDocument(doc);
+
+ doc = new Lucene.Net.Documents.Document();
+ f = new Lucene.Net.Documents.Field("field", "a b e f", Lucene.Net.Documents.Field.Store.NO, Lucene.Net.Documents.Field.Index.ANALYZED);
+ doc.Add(f);
+ wr.AddDocument(doc);
+
+ doc = new Lucene.Net.Documents.Document();
+ f = new Lucene.Net.Documents.Field("field", "x y z", Lucene.Net.Documents.Field.Store.NO, Lucene.Net.Documents.Field.Index.ANALYZED);
+ doc.Add(f);
+ wr.AddDocument(doc);
+
+ wr.Close();
+ }
+
+
+ [Test]
+ [Description("LUCENENET-338 (also see LUCENENET-170)")]
+ public void TestBooleanQuerySerialization()
+ {
+ Lucene.Net.Search.BooleanQuery lucQuery = new Lucene.Net.Search.BooleanQuery();
+
+ lucQuery.Add(new Lucene.Net.Search.TermQuery(new Lucene.Net.Index.Term("field", "x")), Lucene.Net.Search.BooleanClause.Occur.MUST);
+
+ System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
+ System.IO.MemoryStream ms = new System.IO.MemoryStream();
+ bf.Serialize(ms, lucQuery);
+ ms.Seek(0, System.IO.SeekOrigin.Begin);
+ Lucene.Net.Search.BooleanQuery lucQuery2 = (Lucene.Net.Search.BooleanQuery)bf.Deserialize(ms);
+ ms.Close();
+
+ Assert.AreEqual(lucQuery, lucQuery2, "Error in serialization");
+
+ Lucene.Net.Search.IndexSearcher searcher = new Lucene.Net.Search.IndexSearcher(dir, true);
+
+ int hitCount = searcher.Search(lucQuery, 20).TotalHits;
+
+ searcher.Close();
+ searcher = new Lucene.Net.Search.IndexSearcher(dir, true);
+
+ int hitCount2 = searcher.Search(lucQuery2, 20).TotalHits;
+
+ Assert.AreEqual(hitCount, hitCount2,"Error in serialization - different hit counts");
+ }
+ }
+}
\ No newline at end of file
Added: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestSupportClass.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestSupportClass.cs?rev=1100459&view=auto
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestSupportClass.cs (added)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestSupportClass.cs Sat May 7 06:22:20 2011
@@ -0,0 +1,105 @@
+/*
+ * 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.
+ */
+
+using System;
+using System.Dynamic;
+using Lucene.Net.Util;
+using NUnit.Framework;
+
+
+
+namespace Lucene.Net.Support
+{
+ /// <summary>
+ /// </summary>
+ [TestFixture]
+ public class TestSupportClass
+ {
+ /// <summary></summary>
+ /// <throws></throws>
+ [Test]
+ public virtual void TestCRC32()
+ {
+ byte[] b = new byte[256];
+ for (int i = 0; i < b.Length; i++)
+ b[i] = (byte)i;
+
+ Support.Checksum digest = new Support.CRC32();
+ digest.Update(b, 0, b.Length);
+
+ Int64 expected = 688229491;
+ Assert.AreEqual(expected, digest.GetValue());
+ }
+ }
+
+ internal class BigObject
+ {
+ public int i = 0;
+ public byte[] buf = null;
+
+ public BigObject(int i)
+ {
+ this.i = i;
+ buf = new byte[1024 * 1024]; //1MB
+ }
+ }
+
+ internal class SmallObject
+ {
+ public int i = 0;
+
+ public SmallObject(int i)
+ {
+ this.i = i;
+ }
+ }
+}
+
+
+namespace Lucene.Net
+{
+ /// <summary>
+ /// Support for junit.framework.TestCase.getName().
+ /// {{Lucene.Net-2.9.1}} Move to another location after LUCENENET-266
+ /// </summary>
+ public class TestCase
+ {
+ public static string GetName()
+ {
+ return GetTestCaseName(false);
+ }
+
+ public static string GetFullName()
+ {
+ return GetTestCaseName(true);
+ }
+
+ static string GetTestCaseName(bool fullName)
+ {
+ System.Diagnostics.StackTrace stackTrace = new System.Diagnostics.StackTrace();
+ for (int i = 0; i < stackTrace.FrameCount; i++)
+ {
+ System.Reflection.MethodBase method = stackTrace.GetFrame(i).GetMethod();
+ object[] testAttrs = method.GetCustomAttributes(typeof(NUnit.Framework.TestAttribute), false);
+ if (testAttrs != null && testAttrs.Length > 0)
+ if (fullName) return method.DeclaringType.FullName + "." + method.Name;
+ else return method.Name;
+ }
+ return "GetTestCaseName[UnknownTestMethod]";
+ }
+ }
+}
\ No newline at end of file
Added: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestThreadClass.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestThreadClass.cs?rev=1100459&view=auto
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestThreadClass.cs (added)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestThreadClass.cs Sat May 7 06:22:20 2011
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+using NUnit.Framework;
+
+namespace Lucene.Net.Support
+{
+ [TestFixture]
+ public class TestThreadClass
+ {
+ [Test]
+ public void Test()
+ {
+ Support.ThreadClass thread = new Support.ThreadClass();
+
+ //Compare Current Thread Ids
+ Assert.IsTrue(Support.ThreadClass.Current().Instance.ManagedThreadId == System.Threading.Thread.CurrentThread.ManagedThreadId);
+
+
+ //Compare instances of ThreadClass
+ MyThread mythread = new MyThread();
+ mythread.Start();
+ while (mythread.Result == null) System.Threading.Thread.Sleep(1);
+ Assert.IsTrue((bool)mythread.Result);
+
+
+ Support.ThreadClass nullThread = null;
+ Assert.IsTrue(nullThread == null); //test overloaded operator == with null values
+ Assert.IsFalse(nullThread != null); //test overloaded operator != with null values
+ }
+
+ class MyThread : Support.ThreadClass
+ {
+ public object Result = null;
+ public override void Run()
+ {
+ Result = Support.ThreadClass.Current() == this;
+ }
+ }
+ }
+}
\ No newline at end of file
Added: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTable.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTable.cs?rev=1100459&view=auto
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTable.cs (added)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTable.cs Sat May 7 06:22:20 2011
@@ -0,0 +1,142 @@
+/*
+ * 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.
+ */
+
+using System;
+using System.Collections;
+using NUnit.Framework;
+
+namespace Lucene.Net.Support
+{
+ [TestFixture]
+ public class TestWeakHashTable
+ {
+ [Test]
+ public void A_TestBasicOps()
+ {
+ IDictionary weakHashTable = TestWeakHashTableBehavior.CreateDictionary();// new SupportClass.TjWeakHashTable();
+ Hashtable realHashTable = new Hashtable();
+
+ SmallObject[] so = new SmallObject[100];
+ for (int i = 0; i < 20000; i++)
+ {
+ SmallObject key = new SmallObject(i);
+ SmallObject value = key;
+ so[i / 200] = key;
+ realHashTable.Add(key, value);
+ weakHashTable.Add(key, value);
+ }
+
+ Assert.AreEqual(weakHashTable.Count, realHashTable.Count);
+
+ ICollection keys = (ICollection)realHashTable.Keys;
+
+ foreach (SmallObject key in keys)
+ {
+ Assert.AreEqual(((SmallObject)realHashTable[key]).i,
+ ((SmallObject)weakHashTable[key]).i);
+
+ Assert.IsTrue(realHashTable[key].Equals(weakHashTable[key]));
+ }
+
+
+ ICollection values1 = (ICollection)weakHashTable.Values;
+ ICollection values2 = (ICollection)realHashTable.Values;
+ Assert.AreEqual(values1.Count, values2.Count);
+
+ realHashTable.Remove(new SmallObject(10000));
+ weakHashTable.Remove(new SmallObject(10000));
+ Assert.AreEqual(weakHashTable.Count, 20000);
+ Assert.AreEqual(realHashTable.Count, 20000);
+
+ for (int i = 0; i < so.Length; i++)
+ {
+ realHashTable.Remove(so[i]);
+ weakHashTable.Remove(so[i]);
+ Assert.AreEqual(weakHashTable.Count, 20000 - i - 1);
+ Assert.AreEqual(realHashTable.Count, 20000 - i - 1);
+ }
+
+ //After removals, compare the collections again.
+ ICollection keys2 = (ICollection)realHashTable.Keys;
+ foreach (SmallObject o in keys2)
+ {
+ Assert.AreEqual(((SmallObject)realHashTable[o]).i,
+ ((SmallObject)weakHashTable[o]).i);
+ Assert.IsTrue(realHashTable[o].Equals(weakHashTable[o]));
+ }
+ }
+
+ [Test]
+ public void B_TestOutOfMemory()
+ {
+ IDictionary wht = TestWeakHashTableBehavior.CreateDictionary();
+ int OOMECount = 0;
+
+ for (int i = 0; i < 1024 * 24 + 32; i++) // total requested Mem. > 24GB
+ {
+ try
+ {
+ wht.Add(new BigObject(i), i);
+ if (i % 1024 == 0) Console.WriteLine("Requested Mem: " + i.ToString() + " MB");
+ OOMECount = 0;
+ }
+ catch (OutOfMemoryException oom)
+ {
+ if (OOMECount++ > 10) throw new Exception("Memory Allocation Error in B_TestOutOfMemory");
+ //Try Again. GC will eventually release some memory.
+ Console.WriteLine("OOME WHEN i=" + i.ToString() + ". Try Again");
+ System.Threading.Thread.Sleep(10);
+ i--;
+ continue;
+ }
+ }
+
+ GC.Collect();
+ Console.WriteLine("Passed out of memory exception.");
+ }
+
+ private int GetMemUsageInKB()
+ {
+ return System.Diagnostics.Process.GetCurrentProcess().WorkingSet / 1024;
+ }
+
+ [Test]
+ public void C_TestMemLeakage()
+ {
+
+ IDictionary wht = TestWeakHashTableBehavior.CreateDictionary(); //new SupportClass.TjWeakHashTable();
+
+ GC.Collect();
+ int initialMemUsage = GetMemUsageInKB();
+
+ Console.WriteLine("Initial MemUsage=" + initialMemUsage);
+ for (int i = 0; i < 10000; i++)
+ {
+ wht.Add(new BigObject(i), i);
+ if (i % 100 == 0)
+ {
+ int mu = GetMemUsageInKB();
+ Console.WriteLine(i.ToString() + ") MemUsage=" + mu);
+ }
+ }
+
+ GC.Collect();
+ int memUsage = GetMemUsageInKB();
+ if (memUsage > initialMemUsage * 2) Assert.Fail("Memory Leakage.MemUsage = " + memUsage);
+ }
+ }
+}
\ No newline at end of file
Added: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTableBehavior.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTableBehavior.cs?rev=1100459&view=auto
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTableBehavior.cs (added)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTableBehavior.cs Sat May 7 06:22:20 2011
@@ -0,0 +1,313 @@
+/*
+ * 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.
+ */
+
+using System;
+using System.Collections;
+using NUnit.Framework;
+
+namespace Lucene.Net.Support
+{
+ [TestFixture]
+ public class TestWeakHashTableBehavior
+ {
+ IDictionary dictionary;
+
+ public static IDictionary CreateDictionary()
+ {
+ return new Support.WeakHashTable();
+ }
+
+
+ private void CallGC()
+ {
+ for (int i = 0; i < 10; i++)
+ {
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+ }
+ }
+
+ [SetUp]
+ public void Setup()
+ {
+ dictionary = CreateDictionary();
+ }
+
+ [Test]
+ public void Test_Dictionary_Add()
+ {
+ string key = "A";
+
+ dictionary.Add(key, "value");
+ Assert.IsTrue(dictionary.Contains(key));
+ Assert.AreEqual("value", dictionary[key]);
+ Assert.AreEqual(1, dictionary.Count);
+
+ CollectionAssert.AreEquivalent(dictionary.Values, new object[] { "value" });
+ }
+
+ [Test]
+ public void Test_Dictionary_Add_2()
+ {
+ string key = "A";
+ string key2 = "B";
+
+ dictionary.Add(key, "value");
+ dictionary.Add(key2, "value2");
+ Assert.IsTrue(dictionary.Contains(key));
+ Assert.IsTrue(dictionary.Contains(key2));
+ Assert.AreEqual("value", dictionary[key]);
+ Assert.AreEqual("value2", dictionary[key2]);
+ Assert.AreEqual(2, dictionary.Count);
+
+ CollectionAssert.AreEquivalent(dictionary.Values, new object[] { "value", "value2" });
+ }
+
+ [Test]
+ public void Test_Keys()
+ {
+ string key = "A";
+ string key2 = "B";
+
+ dictionary.Add(key, "value");
+ CollectionAssert.AreEquivalent(dictionary.Keys, new object[] { key });
+
+ dictionary.Add(key2, "value2");
+ CollectionAssert.AreEquivalent(dictionary.Keys, new object[] { key, key2 });
+ }
+
+ [Test]
+ [ExpectedException(typeof(ArgumentNullException))]
+ public void Test_Dictionary_Add_Null()
+ {
+ dictionary.Add(null, "value");
+ }
+
+ [Test]
+ [ExpectedException(typeof(ArgumentNullException))]
+ public void Test_Dictionary_Set_Null()
+ {
+ dictionary[null] = "value";
+ }
+
+ [Test]
+ [ExpectedException(typeof(ArgumentException))]
+ public void Test_Dictionary_AddTwice()
+ {
+ string key = "A";
+
+ dictionary.Add(key, "value");
+ dictionary.Add(key, "value2");
+ }
+
+ [Test]
+ public void Test_Dictionary_AddReplace()
+ {
+ string key = "A";
+ string key2 = "a".ToUpper();
+
+ dictionary.Add(key, "value");
+ dictionary[key2] = "value2";
+
+ Assert.AreEqual(1, dictionary.Count);
+ Assert.IsTrue(dictionary.Contains(key));
+ Assert.AreEqual("value2", dictionary[key]);
+ }
+
+ [Test]
+ public void Test_Dictionary_AddRemove()
+ {
+ string key = "A";
+
+ dictionary.Add(key, "value");
+ dictionary.Remove(key);
+
+ Assert.AreEqual(0, dictionary.Count);
+ Assert.IsFalse(dictionary.Contains(key));
+ Assert.IsNull(dictionary[key]);
+ }
+
+ [Test]
+ public void Test_Dictionary_Clear()
+ {
+ string key = "A";
+
+ dictionary.Add(key, "value");
+ dictionary.Clear();
+
+ Assert.AreEqual(0, dictionary.Count);
+ Assert.IsFalse(dictionary.Contains(key));
+ Assert.IsNull(dictionary[key]);
+ }
+
+ [Test]
+ public void Test_Dictionary_AddRemove_2()
+ {
+ string key = "A";
+
+ dictionary.Add(key, "value");
+ dictionary.Remove(key);
+ dictionary.Remove(key);
+
+ Assert.AreEqual(0, dictionary.Count);
+ Assert.IsFalse(dictionary.Contains(key));
+ Assert.IsNull(dictionary[key]);
+ }
+
+ [Test]
+ [ExpectedException(typeof(ArgumentNullException))]
+ public void Test_Dictionary_Get_Null()
+ {
+ object value = dictionary[null];
+ }
+
+ [Test]
+ [ExpectedException(typeof(ArgumentNullException))]
+ public void Test_Dictionary_Remove_Null()
+ {
+ dictionary.Remove(null);
+ }
+
+ [Test]
+ public void Test_Dictionary_CopyTo()
+ {
+ string key = "A";
+
+ dictionary.Add(key, "value");
+ DictionaryEntry[] a = new DictionaryEntry[1];
+ dictionary.CopyTo(a, 0);
+
+ DictionaryEntry de = (DictionaryEntry)a[0];
+ Assert.AreEqual(key, de.Key);
+ Assert.AreEqual("value", de.Value);
+ }
+
+ [Test]
+ public void Test_Dictionary_GetEnumerator()
+ {
+ string key = "A";
+
+ dictionary.Add(key, "value");
+
+ IDictionaryEnumerator de = dictionary.GetEnumerator();
+ Assert.IsTrue(de.MoveNext());
+ Assert.AreEqual(key, de.Key);
+ Assert.AreEqual("value", de.Value);
+ }
+
+ [Test]
+ public void Test_Dictionary_ForEach()
+ {
+ string key = "A";
+
+ dictionary.Add(key, "value");
+
+ IEnumerable enumerable = dictionary;
+
+ foreach (DictionaryEntry de in enumerable)
+ {
+ Assert.AreEqual(key, de.Key);
+ Assert.AreEqual("value", de.Value);
+ }
+ }
+
+ [Test]
+ public void Test_Collisions()
+ {
+ //Create 2 keys with same hashcode but that are not equal
+ CollisionTester key1 = new CollisionTester(1, 100);
+ CollisionTester key2 = new CollisionTester(2, 100);
+
+ dictionary.Add(key1, "value1");
+ dictionary.Add(key2, "value2");
+
+ Assert.AreEqual("value1", dictionary[key1]);
+ Assert.AreEqual("value2", dictionary[key2]);
+
+ dictionary.Remove(key1);
+ Assert.AreEqual(null, dictionary[key1]);
+ }
+
+ [Test]
+ public void Test_Weak_1()
+ {
+ BigObject key = new BigObject(1);
+ BigObject key2 = new BigObject(2);
+
+ dictionary.Add(key, "value");
+ Assert.AreEqual("value", dictionary[key]);
+
+ key = null;
+ CallGC();
+
+ dictionary.Add(key2, "value2");
+ Assert.AreEqual(1, dictionary.Count);
+ }
+
+ [Test]
+ public void Test_Weak_2()
+ {
+ BigObject key = new BigObject(1);
+ BigObject key2 = new BigObject(2);
+ BigObject key3 = new BigObject(3);
+
+ dictionary.Add(key, "value");
+ dictionary.Add(key2, "value2");
+ Assert.AreEqual("value", dictionary[key]);
+
+ key = null;
+ CallGC();
+
+ dictionary.Add(key3, "value3");
+
+ Assert.AreEqual(2, dictionary.Count);
+ Assert.IsNotNull(key2);
+ }
+
+ [Test]
+ public void Test_Weak_ForEach()
+ {
+ BigObject[] keys1 = new BigObject[20];
+ BigObject[] keys2 = new BigObject[20];
+
+ for (int i = 0; i < keys1.Length; i++)
+ {
+ keys1[i] = new BigObject(i);
+ dictionary.Add(keys1[i], "value");
+ }
+ for (int i = 0; i < keys2.Length; i++)
+ {
+ keys2[i] = new BigObject(i);
+ dictionary.Add(keys2[i], "value");
+ }
+
+ Assert.AreEqual(40, dictionary.Count);
+
+ keys2 = null;
+ int count = 0;
+ foreach (DictionaryEntry de in dictionary)
+ {
+ CallGC();
+ count++;
+ }
+
+ Assert.LessOrEqual(20, count);
+ Assert.Greater(40, count);
+ Assert.IsNotNull(keys1);
+ }
+ }
+}
\ No newline at end of file
Added: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTableMultiThreadAccess.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTableMultiThreadAccess.cs?rev=1100459&view=auto
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTableMultiThreadAccess.cs (added)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTableMultiThreadAccess.cs Sat May 7 06:22:20 2011
@@ -0,0 +1,103 @@
+/*
+ * 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.
+ */
+
+using System;
+using System.Threading;
+using NUnit.Framework;
+
+namespace Lucene.Net.Support
+{
+ [TestFixture]
+ public class TestWeakHashTableMultiThreadAccess
+ {
+ Support.WeakHashTable wht = new Support.WeakHashTable();
+ Exception AnyException = null;
+ bool EndOfTest = false;
+
+ [Test]
+ public void Test()
+ {
+ CreateThread(Add);
+ CreateThread(Enum);
+
+ int count = 200;
+ while (count-- > 0)
+ {
+ Thread.Sleep(50);
+ if (AnyException != null)
+ {
+ EndOfTest = true;
+ Thread.Sleep(50);
+ Assert.Fail(AnyException.Message);
+ }
+ }
+ }
+
+ void CreateThread(ThreadStart fxn)
+ {
+ Thread t = new Thread(fxn);
+ t.IsBackground = true;
+ t.Start();
+ }
+
+
+ void Add()
+ {
+ try
+ {
+ long count = 0;
+ while (EndOfTest==false)
+ {
+ wht.Add(count.ToString(), count.ToString());
+ Thread.Sleep(1);
+
+ string toReplace = (count - 10).ToString();
+ if (wht.Contains(toReplace))
+ {
+ wht[toReplace] = "aa";
+ }
+
+ count++;
+ }
+ }
+ catch (Exception ex)
+ {
+ AnyException = ex;
+ }
+ }
+
+ void Enum()
+ {
+ try
+ {
+ while (EndOfTest==false)
+ {
+ System.Collections.IEnumerator e = wht.Keys.GetEnumerator();
+ while (e.MoveNext())
+ {
+ string s = (string)e.Current;
+ }
+ Thread.Sleep(1);
+ }
+ }
+ catch (Exception ex)
+ {
+ AnyException = ex;
+ }
+ }
+ }
+}
\ No newline at end of file
Added: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTablePerformance.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTablePerformance.cs?rev=1100459&view=auto
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTablePerformance.cs (added)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Support/TestWeakHashTablePerformance.cs Sat May 7 06:22:20 2011
@@ -0,0 +1,142 @@
+/*
+ * 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.
+ */
+
+using System.Collections;
+using NUnit.Framework;
+
+namespace Lucene.Net.Support
+{
+ [TestFixture]
+ public class TestWeakHashTablePerformance
+ {
+ IDictionary dictionary;
+ SmallObject[] keys;
+
+
+ [SetUp]
+ public void Setup()
+ {
+ dictionary = TestWeakHashTableBehavior.CreateDictionary();
+ }
+
+ private void Fill(IDictionary dictionary)
+ {
+ foreach (SmallObject key in keys)
+ dictionary.Add(key, "value");
+ }
+
+ [TestFixtureSetUp]
+ public void TestSetup()
+ {
+ keys = new SmallObject[100000];
+ for (int i = 0; i < keys.Length; i++)
+ keys[i] = new SmallObject(i);
+ }
+
+ [Test]
+ public void Test_Performance_Add()
+ {
+ for (int i = 0; i < 10; i++)
+ {
+ dictionary.Clear();
+ Fill(dictionary);
+ }
+ }
+
+ [Test]
+ public void Test_Performance_Remove()
+ {
+ for (int i = 0; i < 10; i++)
+ {
+ Fill(dictionary);
+ foreach (SmallObject key in keys)
+ dictionary.Remove(key);
+ }
+ }
+
+ [Test]
+ public void Test_Performance_Replace()
+ {
+ for (int i = 0; i < 10; i++)
+ {
+ foreach (SmallObject key in keys)
+ dictionary[key] = "value2";
+ }
+ }
+
+ [Test]
+ public void Test_Performance_Access()
+ {
+ Fill(dictionary);
+ for (int i = 0; i < 10; i++)
+ {
+ foreach (SmallObject key in keys)
+ {
+ object value = dictionary[key];
+ }
+ }
+ }
+
+ [Test]
+ public void Test_Performance_Contains()
+ {
+ Fill(dictionary);
+ for (int i = 0; i < 10; i++)
+ {
+ foreach (SmallObject key in keys)
+ {
+ dictionary.Contains(key);
+ }
+ }
+ }
+
+ [Test]
+ public void Test_Performance_Keys()
+ {
+ Fill(dictionary);
+ for (int i = 0; i < 100; i++)
+ {
+ ICollection keys = dictionary.Keys;
+ }
+ }
+
+ [Test]
+ public void Test_Performance_ForEach()
+ {
+ Fill(dictionary);
+ for (int i = 0; i < 10; i++)
+ {
+ foreach (DictionaryEntry de in dictionary)
+ {
+
+ }
+ }
+ }
+
+ [Test]
+ public void Test_Performance_CopyTo()
+ {
+ Fill(dictionary);
+ DictionaryEntry[] array = new DictionaryEntry[dictionary.Count];
+
+ for (int i = 0; i < 10; i++)
+ {
+ dictionary.CopyTo(array, 0);
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestNumericUtils.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestNumericUtils.cs?rev=1100459&r1=1100458&r2=1100459&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestNumericUtils.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestNumericUtils.cs Sat May 7 06:22:20 2011
@@ -77,20 +77,20 @@ namespace Lucene.Net.Util
neededBounds.MoveNext();
try
{
- Assert.AreEqual(neededBounds.Current, (ulong)SupportClass.Number.URShift(min, shift), "inner min bound");
+ Assert.AreEqual(neededBounds.Current, (ulong)Support.Number.URShift(min, shift), "inner min bound");
}
catch (OverflowException)
{
- Assert.AreEqual((long)neededBounds.Current, SupportClass.Number.URShift(min, shift), "inner min bound");
+ Assert.AreEqual((long)neededBounds.Current, Support.Number.URShift(min, shift), "inner min bound");
}
neededBounds.MoveNext();
try
{
- Assert.AreEqual(neededBounds.Current, (ulong)SupportClass.Number.URShift(max, shift), "inner max bound");
+ Assert.AreEqual(neededBounds.Current, (ulong)Support.Number.URShift(max, shift), "inner max bound");
}
catch (OverflowException)
{
- Assert.AreEqual((long)neededBounds.Current, SupportClass.Number.URShift(max, shift), "inner max bound");
+ Assert.AreEqual((long)neededBounds.Current, Support.Number.URShift(max, shift), "inner max bound");
}
}
}
@@ -145,9 +145,9 @@ namespace Lucene.Net.Util
Assert.AreEqual(((int)neededShifts.Current), shift,"shift");
//System.out.println("new Integer(0x"+Integer.toHexString(min>>>shift)+"),new Integer(0x"+Integer.toHexString(max>>>shift)+"),");
neededBounds.MoveNext();
- Assert.AreEqual(((System.Int32) neededBounds.Current), SupportClass.Number.URShift(min, shift), "inner min bound");
+ Assert.AreEqual(((System.Int32) neededBounds.Current), Support.Number.URShift(min, shift), "inner min bound");
neededBounds.MoveNext();
- Assert.AreEqual(((System.Int32) neededBounds.Current), SupportClass.Number.URShift(max, shift), "inner max bound");
+ Assert.AreEqual(((System.Int32) neededBounds.Current), Support.Number.URShift(max, shift), "inner max bound");
}
}
@@ -448,7 +448,7 @@ namespace Lucene.Net.Util
if (random.Next(2) == 1) val += random.Next(100) - 50;
if (random.Next(2) == 1) val = ~val;
if (random.Next(2) == 1) val = val << 1;
- if (random.Next(2) == 1) val = SupportClass.Number.URShift(val, 1);
+ if (random.Next(2) == 1) val = Support.Number.URShift(val, 1);
}
return val;
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestOpenBitSet.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestOpenBitSet.cs?rev=1100459&r1=1100458&r2=1100459&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestOpenBitSet.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/TestOpenBitSet.cs Sat May 7 06:22:20 2011
@@ -48,7 +48,7 @@ namespace Lucene.Net.Util
int aa = - 1, bb = - 1;
do
{
- aa = SupportClass.BitSetSupport.NextSetBit(a, aa + 1);
+ aa = Support.BitSetSupport.NextSetBit(a, aa + 1);
bb = b.NextSetBit(bb + 1);
Assert.AreEqual(aa, bb);
}
@@ -70,7 +70,7 @@ namespace Lucene.Net.Util
OpenBitSetIterator iterator = new OpenBitSetIterator(b);
do
{
- aa = SupportClass.BitSetSupport.NextSetBit(a, aa + 1);
+ aa = Support.BitSetSupport.NextSetBit(a, aa + 1);
bb = rand.NextDouble() > 0.5 ? iterator.NextDoc() : iterator.Advance(bb + 1);
Assert.AreEqual(aa == - 1?DocIdSetIterator.NO_MORE_DOCS:aa, bb);
}
@@ -83,7 +83,7 @@ namespace Lucene.Net.Util
OpenBitSetIterator iterator = new OpenBitSetIterator(b);
do
{
- aa = SupportClass.BitSetSupport.NextSetBit(a, aa + 1);
+ aa = Support.BitSetSupport.NextSetBit(a, aa + 1);
bb = rand.NextDouble() > 0.5 ? iterator.NextDoc() : iterator.Advance(bb + 1);
Assert.AreEqual(aa == - 1?DocIdSetIterator.NO_MORE_DOCS:aa, bb);
}
@@ -219,7 +219,7 @@ namespace Lucene.Net.Util
{
Assert.AreEqual(a.Equals(a0), b.Equals(b0));
- Assert.AreEqual(SupportClass.BitSetSupport.Cardinality(a), b.Cardinality());
+ Assert.AreEqual(Support.BitSetSupport.Cardinality(a), b.Cardinality());
// {{dougsale-2.4.0}}
//
@@ -293,10 +293,10 @@ namespace Lucene.Net.Util
DoIterate(a_xor, b_xor, mode);
DoIterate(a_andn, b_andn, mode);
- Assert.AreEqual(SupportClass.BitSetSupport.Cardinality(a_and), b_and.Cardinality());
- Assert.AreEqual(SupportClass.BitSetSupport.Cardinality(a_or), b_or.Cardinality());
- Assert.AreEqual(SupportClass.BitSetSupport.Cardinality(a_xor), b_xor.Cardinality());
- Assert.AreEqual(SupportClass.BitSetSupport.Cardinality(a_andn), b_andn.Cardinality());
+ Assert.AreEqual(Support.BitSetSupport.Cardinality(a_and), b_and.Cardinality());
+ Assert.AreEqual(Support.BitSetSupport.Cardinality(a_or), b_or.Cardinality());
+ Assert.AreEqual(Support.BitSetSupport.Cardinality(a_xor), b_xor.Cardinality());
+ Assert.AreEqual(Support.BitSetSupport.Cardinality(a_andn), b_andn.Cardinality());
// test non-mutating popcounts
Assert.AreEqual(b_and.Cardinality(), OpenBitSet.IntersectionCount(b, b0));
Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/_TestUtil.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/_TestUtil.cs?rev=1100459&r1=1100458&r2=1100459&view=diff
==============================================================================
--- incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/_TestUtil.cs (original)
+++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/test/core/Util/_TestUtil.cs Sat May 7 06:22:20 2011
@@ -51,7 +51,7 @@ namespace Lucene.Net.Util
tmpBool = System.IO.Directory.Exists(dir.FullName);
if (tmpBool)
{
- System.IO.FileInfo[] files = SupportClass.FileSupport.GetFiles(dir);
+ System.IO.FileInfo[] files = Support.FileSupport.GetFiles(dir);
for (int i = 0; i < files.Length; i++)
{
bool tmpBool2;