You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by sy...@apache.org on 2014/04/07 23:00:15 UTC

git commit: Moar tests

Repository: lucenenet
Updated Branches:
  refs/heads/branch_4x f63ba31d4 -> da25f85ac


Moar tests


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/da25f85a
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/da25f85a
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/da25f85a

Branch: refs/heads/branch_4x
Commit: da25f85ac2a6d347a6b2c44d9a1464e13192f7ab
Parents: f63ba31
Author: synhershko <it...@code972.com>
Authored: Mon Apr 7 23:59:10 2014 +0300
Committer: synhershko <it...@code972.com>
Committed: Mon Apr 7 23:59:10 2014 +0300

----------------------------------------------------------------------
 src/core/Index/IIndexableField.cs               |   4 -
 test/core/Document/TestDocument.cs              | 464 ++++++++++---------
 test/core/Lucene.Net.Test.csproj                |   1 +
 .../JavaCompatibility/LuceneTestCase.cs         |  11 +-
 .../JavaCompatibility/SystemTypesHelpers.cs     |  16 +-
 5 files changed, 260 insertions(+), 236 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/da25f85a/src/core/Index/IIndexableField.cs
----------------------------------------------------------------------
diff --git a/src/core/Index/IIndexableField.cs b/src/core/Index/IIndexableField.cs
index 29ff853..3af3995 100644
--- a/src/core/Index/IIndexableField.cs
+++ b/src/core/Index/IIndexableField.cs
@@ -1,10 +1,6 @@
 using Lucene.Net.Analysis;
 using Lucene.Net.Util;
-using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Linq;
-using System.Text;
 
 namespace Lucene.Net.Index
 {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/da25f85a/test/core/Document/TestDocument.cs
----------------------------------------------------------------------
diff --git a/test/core/Document/TestDocument.cs b/test/core/Document/TestDocument.cs
index 66bd7fe..f232b9a 100644
--- a/test/core/Document/TestDocument.cs
+++ b/test/core/Document/TestDocument.cs
@@ -16,121 +16,131 @@
  */
 
 using System;
-
+using Lucene.Net.Index;
+using Lucene.Net.Util;
 using NUnit.Framework;
 
-using StandardAnalyzer = Lucene.Net.Analysis.Standard.StandardAnalyzer;
-using IndexWriter = Lucene.Net.Index.IndexWriter;
-using Term = Lucene.Net.Index.Term;
-using RAMDirectory = Lucene.Net.Store.RAMDirectory;
-using IndexSearcher = Lucene.Net.Search.IndexSearcher;
-using Query = Lucene.Net.Search.Query;
-using ScoreDoc = Lucene.Net.Search.ScoreDoc;
-using Searcher = Lucene.Net.Search.Searcher;
-using TermQuery = Lucene.Net.Search.TermQuery;
-using LuceneTestCase = Lucene.Net.Util.LuceneTestCase;
-
 namespace Lucene.Net.Documents
-{
-	
-	/// <summary>Tests {@link Document} class.</summary>
-	[TestFixture]
+{	
+	/// <summary>Tests {@link Document} class.</summary>	
 	public class TestDocument:LuceneTestCase
-	{
-		
+	{		
 		internal System.String binaryVal = "this text will be stored as a byte array in the index";
 		internal System.String binaryVal2 = "this text will be also stored as a byte array in the index";
-		
-		[Test]
-		public virtual void  TestBinaryField()
-		{
-			Document doc = new Document();
-			IFieldable stringFld = new Field("string", binaryVal, Field.Store.YES, Field.Index.NO);
-			IFieldable binaryFld = new Field("binary", System.Text.UTF8Encoding.UTF8.GetBytes(binaryVal), Field.Store.YES);
-			IFieldable binaryFld2 = new Field("binary", System.Text.UTF8Encoding.UTF8.GetBytes(binaryVal2), Field.Store.YES);
-			
-			doc.Add(stringFld);
-			doc.Add(binaryFld);
-			
-			Assert.AreEqual(2, doc.fields_ForNUnit.Count);
-			
-			Assert.IsTrue(binaryFld.IsBinary);
-			Assert.IsTrue(binaryFld.IsStored);
-			Assert.IsFalse(binaryFld.IsIndexed);
-			Assert.IsFalse(binaryFld.IsTokenized);
-			
-			System.String binaryTest = new System.String(System.Text.UTF8Encoding.UTF8.GetChars(doc.GetBinaryValue("binary")));
-			Assert.IsTrue(binaryTest.Equals(binaryVal));
-			
-			System.String stringTest = doc.Get("string");
-			Assert.IsTrue(binaryTest.Equals(stringTest));
-			
-			doc.Add(binaryFld2);
-			
-			Assert.AreEqual(3, doc.fields_ForNUnit.Count);
-			
-			byte[][] binaryTests = doc.GetBinaryValues("binary");
-			
-			Assert.AreEqual(2, binaryTests.Length);
-			
-			binaryTest = new System.String(System.Text.UTF8Encoding.UTF8.GetChars(binaryTests[0]));
-			System.String binaryTest2 = new System.String(System.Text.UTF8Encoding.UTF8.GetChars(binaryTests[1]));
-			
-			Assert.IsFalse(binaryTest.Equals(binaryTest2));
-			
-			Assert.IsTrue(binaryTest.Equals(binaryVal));
-			Assert.IsTrue(binaryTest2.Equals(binaryVal2));
-			
-			doc.RemoveField("string");
-			Assert.AreEqual(2, doc.fields_ForNUnit.Count);
-			
-			doc.RemoveFields("binary");
-			Assert.AreEqual(0, doc.fields_ForNUnit.Count);
-		}
-		
-		/// <summary> Tests {@link Document#RemoveField(String)} method for a brand new Document
-		/// that has not been indexed yet.
-		/// 
-		/// </summary>
-		/// <throws>  Exception on error </throws>
-		[Test]
-		public virtual void  TestRemoveForNewDocument()
-		{
-			Document doc = MakeDocumentWithFields();
-			Assert.AreEqual(8, doc.fields_ForNUnit.Count);
-			doc.RemoveFields("keyword");
-			Assert.AreEqual(6, doc.fields_ForNUnit.Count);
-			doc.RemoveFields("doesnotexists"); // removing non-existing fields is siltenlty ignored
-			doc.RemoveFields("keyword"); // removing a field more than once
-			Assert.AreEqual(6, doc.fields_ForNUnit.Count);
-			doc.RemoveField("text");
-			Assert.AreEqual(5, doc.fields_ForNUnit.Count);
-			doc.RemoveField("text");
-			Assert.AreEqual(4, doc.fields_ForNUnit.Count);
-			doc.RemoveField("text");
-			Assert.AreEqual(4, doc.fields_ForNUnit.Count);
-			doc.RemoveField("doesnotexists"); // removing non-existing fields is siltenlty ignored
-			Assert.AreEqual(4, doc.fields_ForNUnit.Count);
-			doc.RemoveFields("unindexed");
-			Assert.AreEqual(2, doc.fields_ForNUnit.Count);
-			doc.RemoveFields("unstored");
-			Assert.AreEqual(0, doc.fields_ForNUnit.Count);
-			doc.RemoveFields("doesnotexists"); // removing non-existing fields is siltenlty ignored
-			Assert.AreEqual(0, doc.fields_ForNUnit.Count);
-		}
-		
-		[Test]
-		public virtual void  TestConstructorExceptions()
-		{
-			new Field("name", "value", Field.Store.YES, Field.Index.NO); // okay
-			new Field("name", "value", Field.Store.NO, Field.Index.NOT_ANALYZED); // okay
 
-            Assert.Throws<ArgumentException>(() => new Field("name", "value", Field.Store.NO, Field.Index.NO));
+	    [Test]
+	    public void testBinaryField()
+	    {
+	        Document doc = new Document();
 
-			new Field("name", "value", Field.Store.YES, Field.Index.NO, Field.TermVector.NO); // okay
+	        FieldType ft = new FieldType();
+	        ft.Stored = true;
+	        IIndexableField stringFld = new Field("string", binaryVal, ft);
+	        IIndexableField binaryFld = new StoredField("binary", binaryVal.getBytes("UTF-8"));
+	        IIndexableField binaryFld2 = new StoredField("binary", binaryVal2.getBytes("UTF-8"));
 
-            Assert.Throws<ArgumentException>(() => new Field("name", "value", Field.Store.YES, Field.Index.NO, Field.TermVector.YES));
-		}
+	        doc.Add(stringFld);
+	        doc.Add(binaryFld);
+
+	        assertEquals(2, doc.GetFields().Count);
+
+	        assertTrue(binaryFld.BinaryValue != null);
+	        assertTrue(binaryFld.FieldTypeValue.Stored);
+	        assertFalse(binaryFld.FieldTypeValue.Indexed);
+
+	        String binaryTest = doc.GetBinaryValue("binary").Utf8ToString();
+	        assertTrue(binaryTest.equals(binaryVal));
+
+	        String stringTest = doc.Get("string");
+	        assertTrue(binaryTest.equals(stringTest));
+
+	        doc.Add(binaryFld2);
+
+	        assertEquals(3, doc.GetFields().Count);
+
+	        BytesRef[] binaryTests = doc.GetBinaryValues("binary");
+
+	        assertEquals(2, binaryTests.Length);
+
+	        binaryTest = binaryTests[0].Utf8ToString();
+	        String binaryTest2 = binaryTests[1].Utf8ToString();
+
+	        assertFalse(binaryTest.equals(binaryTest2));
+
+	        assertTrue(binaryTest.equals(binaryVal));
+	        assertTrue(binaryTest2.equals(binaryVal2));
+
+	        doc.RemoveField("string");
+	        assertEquals(2, doc.GetFields().Count);
+
+	        doc.RemoveFields("binary");
+	        assertEquals(0, doc.GetFields().Count);
+	    }
+
+	    /// <summary> Tests {@link Document#RemoveField(String)} method for a brand new Document
+	    /// that has not been indexed yet.
+	    /// 
+	    /// </summary>
+	    /// <throws>  Exception on error </throws>
+	    [Test]
+	    public void testRemoveForNewDocument()
+	    {
+	        Document doc = makeDocumentWithFields();
+	        assertEquals(8, doc.GetFields().size());
+	        doc.RemoveFields("keyword");
+	        assertEquals(6, doc.GetFields().size());
+	        doc.RemoveFields("doesnotexists"); // removing non-existing fields is
+	        // siltenlty ignored
+	        doc.RemoveFields("keyword"); // removing a field more than once
+	        assertEquals(6, doc.GetFields().size());
+	        doc.RemoveField("text");
+	        assertEquals(5, doc.GetFields().size());
+	        doc.RemoveField("text");
+	        assertEquals(4, doc.GetFields().size());
+	        doc.RemoveField("text");
+	        assertEquals(4, doc.GetFields().size());
+	        doc.RemoveField("doesnotexists"); // removing non-existing fields is
+	        // siltenlty ignored
+	        assertEquals(4, doc.GetFields().size());
+	        doc.RemoveFields("unindexed");
+	        assertEquals(2, doc.GetFields().size());
+	        doc.RemoveFields("unstored");
+	        assertEquals(0, doc.GetFields().size());
+	        doc.RemoveFields("doesnotexists"); // removing non-existing fields is
+	        // siltenlty ignored
+	        assertEquals(0, doc.GetFields().size());
+	    }
+
+	    [Test]
+        public void testConstructorExceptions()
+        {
+            FieldType ft = new FieldType();
+            ft.Stored = true;
+            new Field("name", "value", ft); // okay
+            new StringField("name", "value", Field.Store.NO); // okay
+            try
+            {
+                new Field("name", "value", new FieldType());
+                fail();
+            }
+            catch (ArgumentException e)
+            {
+                // expected exception
+            }
+            new Field("name", "value", ft); // okay
+            try
+            {
+                FieldType ft2 = new FieldType();
+                ft2.Stored = true;
+                ft2.StoreTermVectors = true;
+                new Field("name", "value", ft2);
+                fail();
+            }
+            catch (ArgumentException e)
+            {
+                // expected exception
+            }
+        }
 		
 		/// <summary> Tests {@link Document#GetValues(String)} method for a brand new Document
 		/// that has not been indexed yet.
@@ -140,133 +150,127 @@ namespace Lucene.Net.Documents
 		[Test]
 		public virtual void  TestGetValuesForNewDocument()
 		{
-			DoAssert(MakeDocumentWithFields(), false);
+			doAssert(makeDocumentWithFields(), false);
 		}
-		
-		/// <summary> Tests {@link Document#GetValues(String)} method for a Document retrieved from
-		/// an index.
-		/// 
-		/// </summary>
-		/// <throws>  Exception on error </throws>
-		[Test]
-		public virtual void  TestGetValuesForIndexedDocument()
-		{
-			RAMDirectory dir = new RAMDirectory();
-			IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_CURRENT), true, IndexWriter.MaxFieldLength.LIMITED);
-			writer.AddDocument(MakeDocumentWithFields());
-			writer.Close();
-			
-			Searcher searcher = new IndexSearcher(dir, true);
-			
-			// search for something that does exists
-			Query query = new TermQuery(new Term("keyword", "test1"));
-			
-			// ensure that queries return expected results without DateFilter first
-			ScoreDoc[] hits = searcher.Search(query, null, 1000).ScoreDocs;
-			Assert.AreEqual(1, hits.Length);
-			
-			DoAssert(searcher.Doc(hits[0].Doc), true);
-			searcher.Close();
-		}
-		
-		private Document MakeDocumentWithFields()
-		{
-			Document doc = new Document();
-			doc.Add(new Field("keyword", "test1", Field.Store.YES, Field.Index.NOT_ANALYZED));
-			doc.Add(new Field("keyword", "test2", Field.Store.YES, Field.Index.NOT_ANALYZED));
-			doc.Add(new Field("text", "test1", Field.Store.YES, Field.Index.ANALYZED));
-			doc.Add(new Field("text", "test2", Field.Store.YES, Field.Index.ANALYZED));
-			doc.Add(new Field("unindexed", "test1", Field.Store.YES, Field.Index.NO));
-			doc.Add(new Field("unindexed", "test2", Field.Store.YES, Field.Index.NO));
-			doc.Add(new Field("unstored", "test1", Field.Store.NO, Field.Index.ANALYZED));
-			doc.Add(new Field("unstored", "test2", Field.Store.NO, Field.Index.ANALYZED));
-			return doc;
-		}
-		
-		private void  DoAssert(Document doc, bool fromIndex)
-		{
-			System.String[] keywordFieldValues = doc.GetValues("keyword");
-			System.String[] textFieldValues = doc.GetValues("text");
-			System.String[] unindexedFieldValues = doc.GetValues("unindexed");
-			System.String[] unstoredFieldValues = doc.GetValues("unstored");
-			
-			Assert.IsTrue(keywordFieldValues.Length == 2);
-			Assert.IsTrue(textFieldValues.Length == 2);
-			Assert.IsTrue(unindexedFieldValues.Length == 2);
-			// this test cannot work for documents retrieved from the index
-			// since unstored fields will obviously not be returned
-			if (!fromIndex)
-			{
-				Assert.IsTrue(unstoredFieldValues.Length == 2);
-			}
-			
-			Assert.IsTrue(keywordFieldValues[0].Equals("test1"));
-			Assert.IsTrue(keywordFieldValues[1].Equals("test2"));
-			Assert.IsTrue(textFieldValues[0].Equals("test1"));
-			Assert.IsTrue(textFieldValues[1].Equals("test2"));
-			Assert.IsTrue(unindexedFieldValues[0].Equals("test1"));
-			Assert.IsTrue(unindexedFieldValues[1].Equals("test2"));
-			// this test cannot work for documents retrieved from the index
-			// since unstored fields will obviously not be returned
-			if (!fromIndex)
-			{
-				Assert.IsTrue(unstoredFieldValues[0].Equals("test1"));
-				Assert.IsTrue(unstoredFieldValues[1].Equals("test2"));
-			}
-		}
-		
-		[Test]
-		public virtual void  TestFieldSetValue()
+
+	    /// <summary> Tests {@link Document#GetValues(String)} method for a Document retrieved from
+	    /// an index.
+	    /// 
+	    /// </summary>
+	    /// <throws>  Exception on error </throws>
+//	    [Test]
+//	    public void testGetValuesForIndexedDocument()
+//	    {
+//	        Directory dir = newDirectory();
+//	        RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
+//	        writer.addDocument(makeDocumentWithFields());
+//	        IndexReader reader = writer.getReader();
+//
+//	        IndexSearcher searcher = newSearcher(reader);
+//
+//	        // search for something that does exists
+//	        Query query = new TermQuery(new Term("keyword", "test1"));
+//
+//	        // ensure that queries return expected results without DateFilter first
+//	        ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
+//	        assertEquals(1, hits.length);
+//
+//	        doAssert(searcher.doc(hits[0].doc), true);
+//	        writer.close();
+//	        reader.close();
+//	        dir.close();
+//	    }
+
+	    private Document makeDocumentWithFields()
 		{
-			
-			Field field = new Field("id", "id1", Field.Store.YES, Field.Index.NOT_ANALYZED);
-			Document doc = new Document();
-			doc.Add(field);
-			doc.Add(new Field("keyword", "test", Field.Store.YES, Field.Index.NOT_ANALYZED));
-			
-			RAMDirectory dir = new RAMDirectory();
-			IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_CURRENT), true, IndexWriter.MaxFieldLength.LIMITED);
-			writer.AddDocument(doc);
-			field.SetValue("id2");
-			writer.AddDocument(doc);
-			field.SetValue("id3");
-			writer.AddDocument(doc);
-			writer.Close();
-			
-			Searcher searcher = new IndexSearcher(dir, true);
-			
-			Query query = new TermQuery(new Term("keyword", "test"));
-			
-			// ensure that queries return expected results without DateFilter first
-			ScoreDoc[] hits = searcher.Search(query, null, 1000).ScoreDocs;
-			Assert.AreEqual(3, hits.Length);
-			int result = 0;
-			for (int i = 0; i < 3; i++)
-			{
-				Document doc2 = searcher.Doc(hits[i].Doc);
-				Field f = doc2.GetField("id");
-				if (f.StringValue.Equals("id1"))
-					result |= 1;
-				else if (f.StringValue.Equals("id2"))
-					result |= 2;
-				else if (f.StringValue.Equals("id3"))
-					result |= 4;
-				else
-					Assert.Fail("unexpected id field");
-			}
-			searcher.Close();
-			dir.Close();
-			Assert.AreEqual(7, result, "did not see all IDs");
+            Document doc = new Document();
+            FieldType stored = new FieldType();
+            stored.Stored = true;
+            doc.Add(new StringField("keyword", "test1", Field.Store.YES));
+            doc.Add(new StringField("keyword", "test2", Field.Store.YES));
+            doc.Add(new TextField("text", "test1", Field.Store.YES));
+            doc.Add(new TextField("text", "test2", Field.Store.YES));
+            doc.Add(new Field("unindexed", "test1", stored));
+            doc.Add(new Field("unindexed", "test2", stored));
+            doc
+                .Add(new TextField("unstored", "test1", Field.Store.NO));
+            doc
+                .Add(new TextField("unstored", "test2", Field.Store.NO));
+            return doc;
 		}
-		
-		[Test]
-		public virtual void  TestFieldSetValueChangeBinary()
-		{
-			Field field1 = new Field("field1", new byte[0], Field.Store.YES);
-			Field field2 = new Field("field2", "", Field.Store.YES, Field.Index.ANALYZED);
 
-            Assert.Throws<ArgumentException>(() => field1.SetValue("abc"), "did not hit expected exception");
-            Assert.Throws<ArgumentException>(() => field2.SetValue(new byte[0]), "did not hit expected exception");
-		}
+        private void doAssert(Document doc, bool fromIndex)
+        {
+            IIndexableField[] keywordFieldValues = doc.GetFields("keyword");
+            IIndexableField[] textFieldValues = doc.GetFields("text");
+            IIndexableField[] unindexedFieldValues = doc.GetFields("unindexed");
+            IIndexableField[] unstoredFieldValues = doc.GetFields("unstored");
+
+            assertTrue(keywordFieldValues.Length == 2);
+            assertTrue(textFieldValues.Length == 2);
+            assertTrue(unindexedFieldValues.Length == 2);
+            // this test cannot work for documents retrieved from the index
+            // since unstored fields will obviously not be returned
+            if (!fromIndex)
+            {
+                assertTrue(unstoredFieldValues.Length == 2);
+            }
+
+            assertTrue(keywordFieldValues[0].StringValue.equals("test1"));
+            assertTrue(keywordFieldValues[1].StringValue.equals("test2"));
+            assertTrue(textFieldValues[0].StringValue.equals("test1"));
+            assertTrue(textFieldValues[1].StringValue.equals("test2"));
+            assertTrue(unindexedFieldValues[0].StringValue.equals("test1"));
+            assertTrue(unindexedFieldValues[1].StringValue.equals("test2"));
+            // this test cannot work for documents retrieved from the index
+            // since unstored fields will obviously not be returned
+            if (!fromIndex)
+            {
+                assertTrue(unstoredFieldValues[0].StringValue.equals("test1"));
+                assertTrue(unstoredFieldValues[1].StringValue.equals("test2"));
+            }
+        }
+
+//	    [Test]
+//	    public void testFieldSetValue()
+//	    {
+//
+//	        Field field = new StringField("id", "id1", Field.Store.YES);
+//	        Document doc = new Document();
+//	        doc.Add(field);
+//	        doc.Add(new StringField("keyword", "test", Field.Store.YES));
+//
+//	        Directory dir = newDirectory();
+//	        RandomIndexWriter writer = new RandomIndexWriter(random(), dir);
+//	        writer.addDocument(doc);
+//	        field.setStringValue("id2");
+//	        writer.addDocument(doc);
+//	        field.setStringValue("id3");
+//	        writer.addDocument(doc);
+//
+//	        IndexReader reader = writer.getReader();
+//	        IndexSearcher searcher = newSearcher(reader);
+//
+//	        Query query = new TermQuery(new Term("keyword", "test"));
+//
+//	        // ensure that queries return expected results without DateFilter first
+//	        ScoreDoc[] hits = searcher.search(query, null, 1000).scoreDocs;
+//	        assertEquals(3, hits.length);
+//	        int result = 0;
+//	        for (int i = 0; i < 3; i++)
+//	        {
+//	            Document doc2 = searcher.doc(hits[i].doc);
+//	            Field f = (Field) doc2.getField("id");
+//	            if (f.stringValue().equals("id1")) result |= 1;
+//	            else if (f.stringValue().equals("id2")) result |= 2;
+//	            else if (f.stringValue().equals("id3")) result |= 4;
+//	            else fail("unexpected id field");
+//	        }
+//	        writer.close();
+//	        reader.close();
+//	        dir.close();
+//	        assertEquals("did not see all IDs", 7, result);
+//	    }
+
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/da25f85a/test/core/Lucene.Net.Test.csproj
----------------------------------------------------------------------
diff --git a/test/core/Lucene.Net.Test.csproj b/test/core/Lucene.Net.Test.csproj
index 9b9716d..c5b05d8 100644
--- a/test/core/Lucene.Net.Test.csproj
+++ b/test/core/Lucene.Net.Test.csproj
@@ -207,6 +207,7 @@
       <SubType>Code</SubType>
     </Compile>
     <Compile Include="Document\TestDateTools.cs" />
+    <Compile Include="Document\TestDocument.cs" />
     <Compile Include="SupportClassException.cs" />
     <Compile Include="Util\LocalizedTestCase.cs" />
     <None Include="App.config" />

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/da25f85a/test/test-framework/JavaCompatibility/LuceneTestCase.cs
----------------------------------------------------------------------
diff --git a/test/test-framework/JavaCompatibility/LuceneTestCase.cs b/test/test-framework/JavaCompatibility/LuceneTestCase.cs
index 7361b7e..17ca894 100644
--- a/test/test-framework/JavaCompatibility/LuceneTestCase.cs
+++ b/test/test-framework/JavaCompatibility/LuceneTestCase.cs
@@ -54,7 +54,6 @@ namespace Lucene.Net
             Assert.AreNotSame(unexpected, actual, message);
         }
 
-
         protected static void assertEquals(double d1, double d2, double delta)
         {
             Assert.AreEqual(d1, d2, delta);
@@ -84,5 +83,15 @@ namespace Lucene.Net
         {
             Assert.Null(o, msg);
         }
+
+        protected static void fail()
+        {
+            Fail();
+        }
+
+        protected static void fail(string message)
+        {
+            Fail(message);
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/da25f85a/test/test-framework/JavaCompatibility/SystemTypesHelpers.cs
----------------------------------------------------------------------
diff --git a/test/test-framework/JavaCompatibility/SystemTypesHelpers.cs b/test/test-framework/JavaCompatibility/SystemTypesHelpers.cs
index f8f7e4b..7e00d1f 100644
--- a/test/test-framework/JavaCompatibility/SystemTypesHelpers.cs
+++ b/test/test-framework/JavaCompatibility/SystemTypesHelpers.cs
@@ -1,4 +1,8 @@
-using System.Text;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
 
 namespace Lucene.Net
 {
@@ -30,5 +34,15 @@ namespace Lucene.Net
             sb.Append(value);
             return sb;
         }
+
+        public static sbyte[] getBytes(this string str, string encoding)
+        {
+            return (sbyte[])(Array)Encoding.GetEncoding(encoding).GetBytes(str);
+        }
+
+        public static long size<T>(this IList<T> list)
+        {
+            return list.Count;
+        }
     }
 }