lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nightowl...@apache.org
Subject [13/45] lucenenet git commit: Moved all IO-related Support classes into the Lucene.Net.Support.IO namespace.
Date Sun, 30 Apr 2017 21:55:52 GMT
Moved all IO-related Support classes into the Lucene.Net.Support.IO namespace.


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

Branch: refs/heads/master
Commit: 37901853c0e6b4d945d3888b3c7dfba7ffc08fdb
Parents: 38d3a3d
Author: Shad Storhaug <shad@shadstorhaug.com>
Authored: Fri Apr 28 12:04:44 2017 +0700
Committer: Shad Storhaug <shad@shadstorhaug.com>
Committed: Mon May 1 04:45:04 2017 +0700

----------------------------------------------------------------------
 .../Analysis/Hunspell/Dictionary.cs             |   1 +
 .../Egothor.Stemmer/Compile.cs                  |   1 +
 .../Egothor.Stemmer/MultiTrie.cs                |   2 +-
 .../Egothor.Stemmer/MultiTrie2.cs               |   2 +-
 .../Egothor.Stemmer/Row.cs                      |   2 +-
 .../Egothor.Stemmer/Trie.cs                     |   2 +-
 .../Stempel/StempelStemmer.cs                   |   2 +-
 .../Taxonomy/WriterCache/CharBlockArray.cs      |   1 +
 .../Classic/QueryParserTokenManager.cs          |   2 +-
 .../Parser/StandardSyntaxParserTokenManager.cs  |   2 +-
 .../Surround/Parser/QueryParserTokenManager.cs  |   2 +-
 .../Serialized/SerializedDVStrategy.cs          |   2 +-
 .../Suggest/Analyzing/AnalyzingSuggester.cs     |   2 +-
 .../Suggest/Fst/FSTCompletionLookup.cs          |   2 +-
 .../Suggest/SortedInputIterator.cs              |   1 +
 .../Suggest/SortedTermFreqIteratorWrapper.cs    |   2 +-
 .../Util/LuceneTestCase.cs                      |  24 +-
 src/Lucene.Net.TestFramework/Util/TestUtil.cs   |  24 +-
 .../Egothor.Stemmer/TestCompile.cs              |   1 +
 .../Egothor.Stemmer/TestStemmer.cs              |  21 -
 .../Taxonomy/TestTaxonomyFacetCounts.cs         |  37 +-
 src/Lucene.Net.Tests/Index/TestCheckIndex.cs    |   5 +-
 .../Index/TestDocInverterPerFieldErrorInfo.cs   |   7 +-
 .../Index/TestIndexWriterDelete.cs              |  13 +-
 src/Lucene.Net.Tests/Lucene.Net.Tests.csproj    |   8 +-
 src/Lucene.Net.Tests/Support/IO/ReadFully.txt   |  14 +
 .../Support/IO/TestDataInputStream.cs           | 267 ++++++++++++
 .../Support/IO/TestDataOutputStream.cs          | 194 +++++++++
 .../Support/IO/TestSafeTextWriterWrapper.cs     |  68 +++
 src/Lucene.Net.Tests/Support/ReadFully.txt      |  14 -
 .../Support/TestDataInputStream.cs              | 267 ------------
 .../Support/TestDataOutputStream.cs             | 194 ---------
 .../Support/TestSafeTextWriterWrapper.cs        |  68 ---
 src/Lucene.Net.Tests/project.json               |   2 +-
 src/Lucene.Net/Index/CheckIndex.cs              |   1 +
 src/Lucene.Net/Index/SegmentInfos.cs            |   1 +
 src/Lucene.Net/Lucene.Net.csproj                |  27 +-
 src/Lucene.Net/Search/FieldCacheImpl.cs         |   1 +
 src/Lucene.Net/Support/ByteArrayOutputStream.cs |  40 --
 .../Compatibility/BinaryReaderDataInput.cs      |  50 ---
 .../Compatibility/BinaryWriterDataOutput.cs     |  47 ---
 src/Lucene.Net/Support/DataInputStream.cs       | 413 -------------------
 src/Lucene.Net/Support/DataOutputStream.cs      | 307 --------------
 src/Lucene.Net/Support/Deflater.cs              | 143 -------
 src/Lucene.Net/Support/FileSupport.cs           | 232 -----------
 src/Lucene.Net/Support/IDataInput.cs            |  73 ----
 src/Lucene.Net/Support/IDataOutput.cs           |  64 ---
 .../Support/IO/BinaryReaderDataInput.cs         |  50 +++
 .../Support/IO/BinaryWriterDataOutput.cs        |  47 +++
 .../Support/IO/ByteArrayOutputStream.cs         |  40 ++
 .../Support/IO/Compression/Deflater.cs          | 143 +++++++
 .../Support/IO/Compression/Inflater.cs          | 115 ++++++
 .../Support/IO/Compression/SharpZipLib.cs       |  53 +++
 src/Lucene.Net/Support/IO/DataInputStream.cs    | 413 +++++++++++++++++++
 src/Lucene.Net/Support/IO/DataOutputStream.cs   | 307 ++++++++++++++
 src/Lucene.Net/Support/IO/FileSupport.cs        | 232 +++++++++++
 src/Lucene.Net/Support/IO/IDataInput.cs         |  73 ++++
 src/Lucene.Net/Support/IO/IDataOutput.cs        |  64 +++
 .../Support/IO/SafeTextWriterWrapper.cs         | 387 +++++++++++++++++
 src/Lucene.Net/Support/IO/StreamUtils.cs        |  51 +++
 src/Lucene.Net/Support/Inflater.cs              | 115 ------
 src/Lucene.Net/Support/SafeTextWriterWrapper.cs | 387 -----------------
 src/Lucene.Net/Support/SharpZipLib.cs           |  53 ---
 src/Lucene.Net/Support/StreamUtils.cs           |  51 ---
 src/Lucene.Net/Util/OfflineSorter.cs            |   2 +-
 65 files changed, 2612 insertions(+), 2626 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Analysis.Common/Analysis/Hunspell/Dictionary.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Analysis.Common/Analysis/Hunspell/Dictionary.cs b/src/Lucene.Net.Analysis.Common/Analysis/Hunspell/Dictionary.cs
index 56b10da..0c7c8c1 100644
--- a/src/Lucene.Net.Analysis.Common/Analysis/Hunspell/Dictionary.cs
+++ b/src/Lucene.Net.Analysis.Common/Analysis/Hunspell/Dictionary.cs
@@ -1,5 +1,6 @@
 using Lucene.Net.Store;
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using Lucene.Net.Util;
 using Lucene.Net.Util.Automaton;
 using Lucene.Net.Util.Fst;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Compile.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Compile.cs b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Compile.cs
index 9d88aae..a6d8315 100644
--- a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Compile.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Compile.cs
@@ -1,4 +1,5 @@
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.IO;
 using System.Text;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie.cs b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie.cs
index 373bac5..84b9704 100644
--- a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie.cs
@@ -1,4 +1,4 @@
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System.Collections.Generic;
 using System.IO;
 using System.Text;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs
index 8d8568e..cdc9f7d 100644
--- a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/MultiTrie2.cs
@@ -1,4 +1,4 @@
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.Collections.Generic;
 using System.Text;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Row.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Row.cs b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Row.cs
index a11dc52..149b8e2 100644
--- a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Row.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Row.cs
@@ -1,4 +1,4 @@
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System.Collections.Generic;
 using System.IO;
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Trie.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Trie.cs b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Trie.cs
index da9818f..b0378d1 100644
--- a/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Trie.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Egothor.Stemmer/Trie.cs
@@ -1,4 +1,4 @@
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System.Collections.Generic;
 using System.IO;
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Analysis.Stempel/Stempel/StempelStemmer.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Analysis.Stempel/Stempel/StempelStemmer.cs b/src/Lucene.Net.Analysis.Stempel/Stempel/StempelStemmer.cs
index 43e544a..8ce7548 100644
--- a/src/Lucene.Net.Analysis.Stempel/Stempel/StempelStemmer.cs
+++ b/src/Lucene.Net.Analysis.Stempel/Stempel/StempelStemmer.cs
@@ -1,5 +1,5 @@
 using Egothor.Stemmer;
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System.IO;
 using System.Text;
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Facet/Taxonomy/WriterCache/CharBlockArray.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/Taxonomy/WriterCache/CharBlockArray.cs b/src/Lucene.Net.Facet/Taxonomy/WriterCache/CharBlockArray.cs
index 374ecf0..365bb95 100644
--- a/src/Lucene.Net.Facet/Taxonomy/WriterCache/CharBlockArray.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/WriterCache/CharBlockArray.cs
@@ -1,5 +1,6 @@
 using Lucene.Net.Store;
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.Collections.Generic;
 using System.IO;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs b/src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs
index b8f2c17..f9e8813 100644
--- a/src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs
+++ b/src/Lucene.Net.QueryParser/Classic/QueryParserTokenManager.cs
@@ -1,4 +1,4 @@
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.Diagnostics.CodeAnalysis;
 using System.IO;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.QueryParser/Flexible/Standard/Parser/StandardSyntaxParserTokenManager.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.QueryParser/Flexible/Standard/Parser/StandardSyntaxParserTokenManager.cs b/src/Lucene.Net.QueryParser/Flexible/Standard/Parser/StandardSyntaxParserTokenManager.cs
index e04feef..c775c4b 100644
--- a/src/Lucene.Net.QueryParser/Flexible/Standard/Parser/StandardSyntaxParserTokenManager.cs
+++ b/src/Lucene.Net.QueryParser/Flexible/Standard/Parser/StandardSyntaxParserTokenManager.cs
@@ -1,4 +1,4 @@
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.IO;
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.QueryParser/Surround/Parser/QueryParserTokenManager.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.QueryParser/Surround/Parser/QueryParserTokenManager.cs b/src/Lucene.Net.QueryParser/Surround/Parser/QueryParserTokenManager.cs
index aaa67f1..8f3800b 100644
--- a/src/Lucene.Net.QueryParser/Surround/Parser/QueryParserTokenManager.cs
+++ b/src/Lucene.Net.QueryParser/Surround/Parser/QueryParserTokenManager.cs
@@ -1,4 +1,4 @@
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.Diagnostics.CodeAnalysis;
 using System.IO;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs b/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs
index 0f68c8d..247cc8f 100644
--- a/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs
+++ b/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs
@@ -4,7 +4,7 @@ using Lucene.Net.Queries.Function;
 using Lucene.Net.Search;
 using Lucene.Net.Spatial.Queries;
 using Lucene.Net.Spatial.Util;
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using Lucene.Net.Util;
 using Spatial4n.Core.Context;
 using Spatial4n.Core.IO;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Suggest/Suggest/Analyzing/AnalyzingSuggester.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Suggest/Suggest/Analyzing/AnalyzingSuggester.cs b/src/Lucene.Net.Suggest/Suggest/Analyzing/AnalyzingSuggester.cs
index 74d1106..8c58e5a 100644
--- a/src/Lucene.Net.Suggest/Suggest/Analyzing/AnalyzingSuggester.cs
+++ b/src/Lucene.Net.Suggest/Suggest/Analyzing/AnalyzingSuggester.cs
@@ -1,6 +1,6 @@
 using Lucene.Net.Analysis;
 using Lucene.Net.Store;
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using Lucene.Net.Util;
 using Lucene.Net.Util.Automaton;
 using Lucene.Net.Util.Fst;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Suggest/Suggest/Fst/FSTCompletionLookup.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Suggest/Suggest/Fst/FSTCompletionLookup.cs b/src/Lucene.Net.Suggest/Suggest/Fst/FSTCompletionLookup.cs
index 49eb6cb..417b73d 100644
--- a/src/Lucene.Net.Suggest/Suggest/Fst/FSTCompletionLookup.cs
+++ b/src/Lucene.Net.Suggest/Suggest/Fst/FSTCompletionLookup.cs
@@ -1,5 +1,5 @@
 using Lucene.Net.Store;
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using Lucene.Net.Util;
 using Lucene.Net.Util.Fst;
 using System;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Suggest/Suggest/SortedInputIterator.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Suggest/Suggest/SortedInputIterator.cs b/src/Lucene.Net.Suggest/Suggest/SortedInputIterator.cs
index f1016ac..19ff0b7 100644
--- a/src/Lucene.Net.Suggest/Suggest/SortedInputIterator.cs
+++ b/src/Lucene.Net.Suggest/Suggest/SortedInputIterator.cs
@@ -1,5 +1,6 @@
 using Lucene.Net.Store;
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using Lucene.Net.Util;
 using System.Collections.Generic;
 using System.IO;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Suggest/Suggest/SortedTermFreqIteratorWrapper.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Suggest/Suggest/SortedTermFreqIteratorWrapper.cs b/src/Lucene.Net.Suggest/Suggest/SortedTermFreqIteratorWrapper.cs
index f808890..3af48e7 100644
--- a/src/Lucene.Net.Suggest/Suggest/SortedTermFreqIteratorWrapper.cs
+++ b/src/Lucene.Net.Suggest/Suggest/SortedTermFreqIteratorWrapper.cs
@@ -1,6 +1,6 @@
 using Lucene.Net.Search.Spell;
 using Lucene.Net.Store;
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using Lucene.Net.Util;
 using System.Collections.Generic;
 using System.IO;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
index d16f04a..146ae94 100644
--- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
@@ -15,8 +15,6 @@
 * limitations under the License.
 */
 
-using System.Collections.Concurrent;
-using System.Runtime.CompilerServices;
 using Lucene.Net.Analysis.Util;
 using Lucene.Net.Codecs;
 using Lucene.Net.Documents;
@@ -25,22 +23,28 @@ using Lucene.Net.Randomized;
 using Lucene.Net.Randomized.Generators;
 using Lucene.Net.Search;
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
+using Lucene.Net.TestFramework.Support;
 using Lucene.Net.Util.Automaton;
 using NUnit.Framework;
 using System;
+using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.Diagnostics;
 using System.Globalization;
-using System.Threading.Tasks;
+using System.IO;
 using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Threading.Tasks;
 
 namespace Lucene.Net.Util
 {
-    using Lucene.Net.TestFramework.Support;
-    using System.IO;
-    using System.Reflection;
+    using Analysis;
+    using Attributes;
+    using Search.Similarities;
+    using System.Linq;
+    using System.Text.RegularExpressions;
     using AlcoholicMergePolicy = Lucene.Net.Index.AlcoholicMergePolicy;
-
     using Analyzer = Lucene.Net.Analysis.Analyzer;
     using AssertingAtomicReader = Lucene.Net.Index.AssertingAtomicReader;
     using AssertingDirectoryReader = Lucene.Net.Index.AssertingDirectoryReader;
@@ -75,7 +79,6 @@ namespace Lucene.Net.Util
     using IndexWriterConfig = Lucene.Net.Index.IndexWriterConfig;
     using Insanity = Lucene.Net.Util.FieldCacheSanityChecker.Insanity;
     using IOContext = Lucene.Net.Store.IOContext;
-
     //using Context = Lucene.Net.Store.IOContext.Context;
     using LockFactory = Lucene.Net.Store.LockFactory;
     using LogByteSizeMergePolicy = Lucene.Net.Index.LogByteSizeMergePolicy;
@@ -104,11 +107,6 @@ namespace Lucene.Net.Util
     using TermsEnum = Lucene.Net.Index.TermsEnum;
     using TextField = TextField;
     using TieredMergePolicy = Lucene.Net.Index.TieredMergePolicy;
-    using Analysis;
-    using Search.Similarities;
-    using System.Linq;
-    using System.Text.RegularExpressions;
-    using Attributes;
 
     /*using After = org.junit.After;
     using AfterClass = org.junit.AfterClass;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.TestFramework/Util/TestUtil.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.TestFramework/Util/TestUtil.cs b/src/Lucene.Net.TestFramework/Util/TestUtil.cs
index e7517ff..e7eb247 100644
--- a/src/Lucene.Net.TestFramework/Util/TestUtil.cs
+++ b/src/Lucene.Net.TestFramework/Util/TestUtil.cs
@@ -1,27 +1,27 @@
-using System.Numerics;
 using Lucene.Net.Documents;
 using Lucene.Net.Index;
+using Lucene.Net.Randomized.Generators;
+using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
+using NUnit.Framework;
 using System;
 using System.Collections.Generic;
+using System.IO;
+using System.IO.Compression;
 using System.Linq;
+using System.Numerics;
 using System.Text;
+using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 
 namespace Lucene.Net.Util
 {
-    using Lucene.Net.Randomized.Generators;
-    using Lucene.Net.Support;
-
     //using RandomInts = com.carrotsearch.randomizedtesting.generators.RandomInts;
     //using RandomPicks = com.carrotsearch.randomizedtesting.generators.RandomPicks;
-    using NUnit.Framework;
-    using System.IO;
-    using System.IO.Compression;
-    using System.Text.RegularExpressions;
+    
     using AtomicReader = Lucene.Net.Index.AtomicReader;
     using AtomicReaderContext = Lucene.Net.Index.AtomicReaderContext;
     using BinaryDocValuesField = BinaryDocValuesField;
-
     /*
          * Licensed to the Apache Software Foundation (ASF) under one or more
          * contributor license agreements.  See the NOTICE file distributed with
@@ -40,7 +40,6 @@ namespace Lucene.Net.Util
          */
 
     using Codec = Lucene.Net.Codecs.Codec;
-
     //using CheckIndex = Lucene.Net.Index.CheckIndex;
     using Directory = Lucene.Net.Store.Directory;
     using DocsAndPositionsEnum = Lucene.Net.Index.DocsAndPositionsEnum;
@@ -53,13 +52,12 @@ namespace Lucene.Net.Util
     using FieldDoc = Lucene.Net.Search.FieldDoc;
     using FieldType = FieldType;
     using FilteredQuery = Lucene.Net.Search.FilteredQuery;
-    using SingleField = SingleField;
     using IIndexableField = Lucene.Net.Index.IIndexableField;
     using IndexReader = Lucene.Net.Index.IndexReader;
     using IndexWriter = Lucene.Net.Index.IndexWriter;
     using Int32Field = Int32Field;
-    using LogMergePolicy = Lucene.Net.Index.LogMergePolicy;
     using Int64Field = Int64Field;
+    using LogMergePolicy = Lucene.Net.Index.LogMergePolicy;
     using Lucene46Codec = Lucene.Net.Codecs.Lucene46.Lucene46Codec;
     using MergePolicy = Lucene.Net.Index.MergePolicy;
     using MergeScheduler = Lucene.Net.Index.MergeScheduler;
@@ -69,12 +67,12 @@ namespace Lucene.Net.Util
     using PerFieldPostingsFormat = Lucene.Net.Codecs.PerField.PerFieldPostingsFormat;
     using PostingsFormat = Lucene.Net.Codecs.PostingsFormat;
     using ScoreDoc = Lucene.Net.Search.ScoreDoc;
+    using SingleField = SingleField;
     using SortedDocValuesField = SortedDocValuesField;
     using Terms = Lucene.Net.Index.Terms;
     using TermsEnum = Lucene.Net.Index.TermsEnum;
     using TieredMergePolicy = Lucene.Net.Index.TieredMergePolicy;
     using TopDocs = Lucene.Net.Search.TopDocs;
-    using Codecs;
 
     /// <summary>
     /// General utility methods for Lucene unit tests.

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestCompile.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestCompile.cs b/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestCompile.cs
index 50717bc..52ac16f 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestCompile.cs
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestCompile.cs
@@ -21,6 +21,7 @@
 
 using Lucene.Net;
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestStemmer.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestStemmer.cs b/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestStemmer.cs
index d64225b..8c2099d 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestStemmer.cs
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Egothor.Stemmer/TestStemmer.cs
@@ -1,24 +1,3 @@
-/*
- *
- * 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 Lucene.Net.Util;
 using NUnit.Framework;
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyFacetCounts.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyFacetCounts.cs b/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyFacetCounts.cs
index bee018c..705b476 100644
--- a/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyFacetCounts.cs
+++ b/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyFacetCounts.cs
@@ -1,11 +1,12 @@
-using System;
+using Lucene.Net.Randomized.Generators;
+using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
+using NUnit.Framework;
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
-using Lucene.Net.Randomized.Generators;
-using Lucene.Net.Support;
-using NUnit.Framework;
 
 namespace Lucene.Net.Facet.Taxonomy
 {
@@ -28,30 +29,30 @@ namespace Lucene.Net.Facet.Taxonomy
      */
 
 
-    using MockAnalyzer = Lucene.Net.Analysis.MockAnalyzer;
-    using Document = Lucene.Net.Documents.Document;
-    using Field = Lucene.Net.Documents.Field;
-    using StringField = Lucene.Net.Documents.StringField;
+    using System.Text;
+    using DefaultSimilarity = Lucene.Net.Search.Similarities.DefaultSimilarity;
+    using Directory = Lucene.Net.Store.Directory;
+    using DirectoryReader = Lucene.Net.Index.DirectoryReader;
     using DirectoryTaxonomyReader = Lucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyReader;
     using DirectoryTaxonomyWriter = Lucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyWriter;
-    using DirectoryReader = Lucene.Net.Index.DirectoryReader;
+    using Document = Lucene.Net.Documents.Document;
+    using Field = Lucene.Net.Documents.Field;
+    using IndexSearcher = Lucene.Net.Search.IndexSearcher;
     using IndexWriter = Lucene.Net.Index.IndexWriter;
     using IndexWriterConfig = Lucene.Net.Index.IndexWriterConfig;
+    using IOUtils = Lucene.Net.Util.IOUtils;
+    using MatchAllDocsQuery = Lucene.Net.Search.MatchAllDocsQuery;
+    using MockAnalyzer = Lucene.Net.Analysis.MockAnalyzer;
     using NoMergePolicy = Lucene.Net.Index.NoMergePolicy;
     using OpenMode = Lucene.Net.Index.OpenMode;
+    using PerFieldSimilarityWrapper = Lucene.Net.Search.Similarities.PerFieldSimilarityWrapper;
+    using Query = Lucene.Net.Search.Query;
     using RandomIndexWriter = Lucene.Net.Index.RandomIndexWriter;
+    using Similarity = Lucene.Net.Search.Similarities.Similarity;
+    using StringField = Lucene.Net.Documents.StringField;
     using Term = Lucene.Net.Index.Term;
-    using IndexSearcher = Lucene.Net.Search.IndexSearcher;
-    using MatchAllDocsQuery = Lucene.Net.Search.MatchAllDocsQuery;
-    using Query = Lucene.Net.Search.Query;
     using TermQuery = Lucene.Net.Search.TermQuery;
-    using DefaultSimilarity = Lucene.Net.Search.Similarities.DefaultSimilarity;
-    using PerFieldSimilarityWrapper = Lucene.Net.Search.Similarities.PerFieldSimilarityWrapper;
-    using Similarity = Lucene.Net.Search.Similarities.Similarity;
-    using Directory = Lucene.Net.Store.Directory;
-    using IOUtils = Lucene.Net.Util.IOUtils;
     using TestUtil = Lucene.Net.Util.TestUtil;
-    using System.Text;
 
     [TestFixture]
     public class TestTaxonomyFacetCounts : FacetTestCase

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Index/TestCheckIndex.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Index/TestCheckIndex.cs b/src/Lucene.Net.Tests/Index/TestCheckIndex.cs
index 7b6186e..2ec030a 100644
--- a/src/Lucene.Net.Tests/Index/TestCheckIndex.cs
+++ b/src/Lucene.Net.Tests/Index/TestCheckIndex.cs
@@ -1,13 +1,14 @@
 using Lucene.Net.Documents;
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
+using NUnit.Framework;
 using System;
 using System.Collections.Generic;
+using System.IO;
 using System.Text;
 
 namespace Lucene.Net.Index
 {
-    using NUnit.Framework;
-    using System.IO;
     using CannedTokenStream = Lucene.Net.Analysis.CannedTokenStream;
     using Directory = Lucene.Net.Store.Directory;
     using Document = Documents.Document;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Index/TestDocInverterPerFieldErrorInfo.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Index/TestDocInverterPerFieldErrorInfo.cs b/src/Lucene.Net.Tests/Index/TestDocInverterPerFieldErrorInfo.cs
index 770274c..64ed379 100644
--- a/src/Lucene.Net.Tests/Index/TestDocInverterPerFieldErrorInfo.cs
+++ b/src/Lucene.Net.Tests/Index/TestDocInverterPerFieldErrorInfo.cs
@@ -1,14 +1,13 @@
 using Lucene.Net.Analysis;
 using Lucene.Net.Documents;
-using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
+using NUnit.Framework;
 using System;
+using System.IO;
 using System.Text;
 
 namespace Lucene.Net.Index
 {
-    using NUnit.Framework;
-    using System.IO;
-
     /*
          * Licensed to the Apache Software Foundation (ASF) under one or more
          * contributor license agreements.  See the NOTICE file distributed with

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
index 479f787..595f040 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
@@ -1,16 +1,17 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Text;
-using System.Threading;
 using Lucene.Net.Analysis;
 using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Randomized.Generators;
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
+using Lucene.Net.Util;
 using NUnit.Framework;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
 using System.IO;
-using Lucene.Net.Util;
+using System.Text;
+using System.Threading;
 
 namespace Lucene.Net.Index
 {

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
index c8d7257..492a503 100644
--- a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
+++ b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj
@@ -529,11 +529,11 @@
     <Compile Include="Support\IO\TestByteBuffer.cs" />
     <Compile Include="Support\TestLurchTable.cs" />
     <Compile Include="Support\TestLurchTableThreading.cs" />
-    <Compile Include="Support\TestDataInputStream.cs" />
-    <Compile Include="Support\TestDataOutputStream.cs" />
+    <Compile Include="Support\IO\TestDataInputStream.cs" />
+    <Compile Include="Support\IO\TestDataOutputStream.cs" />
     <Compile Include="Support\TestOldPatches.cs" />
     <Compile Include="Support\TestOSClass.cs" />
-    <Compile Include="Support\TestSafeTextWriterWrapper.cs" />
+    <Compile Include="Support\IO\TestSafeTextWriterWrapper.cs" />
     <Compile Include="Support\TestSerialization.cs" />
     <Compile Include="Support\TestStringBuilderExtensions.cs" />
     <Compile Include="Support\TestCRC32.cs" />
@@ -747,7 +747,7 @@
     <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
   </ItemGroup>
   <ItemGroup>
-    <EmbeddedResource Include="Support\ReadFully.txt" />
+    <EmbeddedResource Include="Support\IO\ReadFully.txt" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.Targets" />
 </Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Support/IO/ReadFully.txt
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Support/IO/ReadFully.txt b/src/Lucene.Net.Tests/Support/IO/ReadFully.txt
new file mode 100644
index 0000000..ad76b7a
--- /dev/null
+++ b/src/Lucene.Net.Tests/Support/IO/ReadFully.txt
@@ -0,0 +1,14 @@
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
+aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
+Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur 
+sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
+aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
+Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur 
+sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
+aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
+Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur 
+sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Support/IO/TestDataInputStream.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Support/IO/TestDataInputStream.cs b/src/Lucene.Net.Tests/Support/IO/TestDataInputStream.cs
new file mode 100644
index 0000000..1432089
--- /dev/null
+++ b/src/Lucene.Net.Tests/Support/IO/TestDataInputStream.cs
@@ -0,0 +1,267 @@
+/*
+ *
+ * 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 Lucene.Net.Attributes;
+using Lucene.Net.Util;
+using NUnit.Framework;
+using System;
+using System.IO;
+using System.Reflection;
+using System.Text;
+
+namespace Lucene.Net.Support.IO
+{
+    public class TestDataInputStream : LuceneTestCase
+    {
+        [Test, LuceneNetSpecific]
+        public void TestReadFully()
+        {
+            const string READFULLY_TEST_FILE = "ReadFully.txt";
+            int fileLength;
+            Stream @in;
+
+            // Read one time to measure the length of the file (it may be different 
+            // on different operating systems because of line endings)
+            using (@in = GetType().getResourceAsStream(READFULLY_TEST_FILE))
+            {
+                using (var ms = new MemoryStream())
+                {
+                    @in.CopyTo(ms);
+                    fileLength = ms.ToArray().Length;
+                }
+            }
+
+            // Declare the buffer one byte too large
+            byte[] buffer = new byte[fileLength + 1];
+            @in = GetType().getResourceAsStream(READFULLY_TEST_FILE);
+            DataInputStream dis;
+            using (dis = new DataInputStream(@in))
+            { 
+                // Read once for real (to the exact length)
+                dis.ReadFully(buffer, 0, fileLength);
+            }
+
+            // Read past the end of the stream
+            @in = GetType().getResourceAsStream(READFULLY_TEST_FILE);
+            dis = new DataInputStream(@in);
+            bool caughtException = false;
+            try
+            {
+                // Using the buffer length (that is 1 byte too many)
+                // should generate EndOfStreamException.
+                dis.ReadFully(buffer, 0, buffer.Length);
+            }
+#pragma warning disable 168
+            catch (EndOfStreamException ie)
+#pragma warning restore 168
+            {
+                caughtException = true;
+            }
+            finally
+            {
+                dis.Dispose();
+                if (!caughtException)
+                    fail("Test failed");
+            }
+
+            // Ensure we get an IndexOutOfRangeException exception when length is negative
+            @in = GetType().getResourceAsStream(READFULLY_TEST_FILE);
+            dis = new DataInputStream(@in);
+            caughtException = false;
+            try
+            {
+                dis.ReadFully(buffer, 0, -20);
+            }
+#pragma warning disable 168
+            catch (IndexOutOfRangeException ie)
+#pragma warning restore 168
+            {
+                caughtException = true;
+            }
+            finally
+            {
+                dis.Dispose();
+                if (!caughtException)
+                    fail("Test failed");
+            }
+        }
+
+        [Test, LuceneNetSpecific]
+        public void TestReadLinePushback()
+        {
+            using (MemoryStream pis = new MemoryStream("\r".GetBytes(Encoding.UTF8)))
+            {
+                DataInputStream dis = new DataInputStream(pis);
+
+#pragma warning disable 612, 618
+                string line = dis.ReadLine();
+#pragma warning restore 612, 618
+                if (line == null)
+                {
+                    fail("Got null, should return empty line");
+                }
+
+                long count = pis.Length - (line.Length + 1 /*account for the newline*/);
+
+                if (count != 0)
+                {
+                    fail("Test failed: available() returns "
+                                         + count + " when the file is empty");
+                }
+            }
+        }
+
+        [Test, LuceneNetSpecific]
+        public void TestReadUTF()
+        {
+            for (int i = 0; i < TEST_ITERATIONS; i++)
+            {
+                try
+                {
+                    WriteAndReadAString();
+                }
+                catch (FormatException utfdfe)
+                {
+                    if (utfdfe.Message == null)
+                        fail("vague exception thrown");
+                }
+#pragma warning disable 168
+                catch (EndOfStreamException eofe)
+#pragma warning restore 168
+                {
+                    // These are rare and beyond the scope of the test
+                }
+            }
+        }
+
+
+        private static readonly int TEST_ITERATIONS = 1000;
+
+        private static readonly int A_NUMBER_NEAR_65535 = 60000;
+
+        private static readonly int MAX_CORRUPTIONS_PER_CYCLE = 3;
+
+        private static void WriteAndReadAString()
+        {
+            // Write out a string whose UTF-8 encoding is quite possibly
+            // longer than 65535 bytes
+            int length = Random().nextInt(A_NUMBER_NEAR_65535) + 1;
+            MemoryStream baos = new MemoryStream();
+            StringBuilder testBuffer = new StringBuilder();
+            for (int i = 0; i < length; i++)
+                testBuffer.append((char)Random().Next());
+            string testString = testBuffer.toString();
+            DataOutputStream dos = new DataOutputStream(baos);
+            dos.WriteUTF(testString);
+
+            // Corrupt the data to produce malformed characters
+            byte[] testBytes = baos.ToArray();
+            int dataLength = testBytes.Length;
+            int corruptions = Random().nextInt(MAX_CORRUPTIONS_PER_CYCLE);
+            for (int i = 0; i < corruptions; i++)
+            {
+                int index = Random().nextInt(dataLength);
+                testBytes[index] = (byte)Random().Next();
+            }
+
+            // Pay special attention to mangling the end to produce
+            // partial characters at end
+            testBytes[dataLength - 1] = (byte)Random().Next();
+            testBytes[dataLength - 2] = (byte)Random().Next();
+
+            // Attempt to decode the bytes back into a String
+            MemoryStream bais = new MemoryStream(testBytes);
+            DataInputStream dis = new DataInputStream(bais);
+            dis.ReadUTF();
+        }
+
+        [Test, LuceneNetSpecific]
+        public void TestSkipBytes()
+        {
+            DataInputStream dis = new DataInputStream(new MyInputStream());
+            dotest(dis, 0, 11, -1, 0);
+            dotest(dis, 0, 11, 5, 5);
+            Console.WriteLine("\n***CAUTION**** - may go into an infinite loop");
+            dotest(dis, 5, 11, 20, 6);
+        }
+
+
+        private static void dotest(DataInputStream dis, int pos, int total,
+                               int toskip, int expected)
+        {
+
+            try
+            {
+                if (VERBOSE)
+                {
+                    Console.WriteLine("\n\nTotal bytes in the stream = " + total);
+                    Console.WriteLine("Currently at position = " + pos);
+                    Console.WriteLine("Bytes to skip = " + toskip);
+                    Console.WriteLine("Expected result = " + expected);
+                }
+                int skipped = dis.SkipBytes(toskip);
+                if (VERBOSE)
+                {
+                    Console.WriteLine("Actual skipped = " + skipped);
+                }
+                if (skipped != expected)
+                {
+                    fail("DataInputStream.skipBytes does not return expected value");
+                }
+            }
+#pragma warning disable 168
+            catch (EndOfStreamException e)
+#pragma warning restore 168
+            {
+                fail("DataInputStream.skipBytes throws unexpected EOFException");
+            }
+#pragma warning disable 168
+            catch (IOException e)
+#pragma warning restore 168
+            {
+                Console.WriteLine("IOException is thrown - possible result");
+            }
+        }
+
+        internal class MyInputStream : MemoryStream
+        {
+
+            private int readctr = 0;
+
+
+            public override int ReadByte()
+            {
+
+                if (readctr > 10)
+                {
+                    return -1;
+                }
+                else
+                {
+                    readctr++;
+                    return 0;
+                }
+
+            }
+
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Support/IO/TestDataOutputStream.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Support/IO/TestDataOutputStream.cs b/src/Lucene.Net.Tests/Support/IO/TestDataOutputStream.cs
new file mode 100644
index 0000000..ab80b6b
--- /dev/null
+++ b/src/Lucene.Net.Tests/Support/IO/TestDataOutputStream.cs
@@ -0,0 +1,194 @@
+/*
+ *
+ * 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 Lucene.Net.Attributes;
+using Lucene.Net.Util;
+using NUnit.Framework;
+using System;
+using System.Diagnostics;
+using System.IO;
+
+namespace Lucene.Net.Support.IO
+{
+    public class TestDataOutputStream : LuceneTestCase
+    {
+        [Test, LuceneNetSpecific]
+        public void TestCounterOverflow()
+        {
+            var output = new MemoryStream();
+            CounterOverflow dataOut = new CounterOverflow(output);
+
+            dataOut.WriteByte(1);
+            if (dataOut.Length < 0)
+            {
+                fail("Internal counter less than 0.");
+            }
+        }
+
+        private class CounterOverflow : DataOutputStream
+        {
+            public CounterOverflow(Stream output)
+                : base(output)
+            {
+                base.written = int.MaxValue;
+            }
+        }
+
+        [Test, LuceneNetSpecific]
+        public void TestWriteUTF()
+        {
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            DataOutputStream dos = new DataOutputStream(baos);
+            dos.WriteUTF("Hello, World!");  // 15
+            dos.Flush();
+            if (baos.Length != dos.Length)
+                fail("Miscounted bytes in DataOutputStream.");
+        }
+
+        [Test, LuceneNetSpecific]
+        public void TestBoundsCheck()
+        {
+            byte[] data = { 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 };
+            ByteArrayOutputStream bos = new ByteArrayOutputStream();
+            DummyFilterStream dfs = new DummyFilterStream(bos);
+            bool caughtException = false;
+
+            // -ve length
+            try
+            {
+                dfs.Write(data, 0, -5);
+            }
+#pragma warning disable 168
+            catch (ArgumentOutOfRangeException ie)
+#pragma warning restore 168
+            {
+                caughtException = true;
+            }
+            finally
+            {
+                if (!caughtException)
+                    fail("Test failed");
+            }
+
+            // -ve offset
+            caughtException = false;
+            try
+            {
+                dfs.Write(data, -2, 5);
+            }
+#pragma warning disable 168
+            catch (ArgumentOutOfRangeException ie)
+#pragma warning restore 168
+            {
+                caughtException = true;
+            }
+            finally
+            {
+                if (!caughtException)
+                    fail("Test failed");
+            }
+
+            // off + len > data.length
+            caughtException = false;
+            try
+            {
+                dfs.Write(data, 6, 5);
+            }
+#pragma warning disable 168
+            catch (ArgumentException ie)
+#pragma warning restore 168
+            {
+                caughtException = true;
+            }
+            finally
+            {
+                if (!caughtException)
+                    fail("Test failed");
+            }
+
+            // null data
+            caughtException = false;
+            try
+            {
+                dfs.Write(null, 0, 5);
+            }
+#pragma warning disable 168
+            catch (ArgumentNullException re)
+#pragma warning restore 168
+            {
+                caughtException = true;
+            }
+            finally
+            {
+                if (!caughtException)
+                    fail("Test failed");
+            }
+        }
+
+        private class DummyFilterStream : DataOutputStream
+        {
+
+            public DummyFilterStream(Stream o)
+                    : base(o)
+            {
+            }
+
+            public override void Write(int val)
+            {
+                base.Write(val + 1);
+            }
+        }
+
+        [Test, LuceneNetSpecific]
+        public void TestWrite()
+        {
+            IDataOutput f = new F(new Sink());
+            f.Write(new byte[] { 1, 2, 3 }, 0, 3);
+        }
+
+        private class F : DataOutputStream
+        {
+
+            public F(Stream o)
+                    : base(o)
+            {
+            }
+
+            public override void Write(int b)
+            {
+                Debug.WriteLine("Ignoring write of " + b);
+            }
+
+        }
+
+        private class Sink : MemoryStream
+        {
+
+            public override void WriteByte(byte b)
+            {
+                throw new Exception("DataOutputStream directly invoked"
+                                           + " Write(byte) method of underlying"
+                                           + " stream");
+            }
+
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Support/IO/TestSafeTextWriterWrapper.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Support/IO/TestSafeTextWriterWrapper.cs b/src/Lucene.Net.Tests/Support/IO/TestSafeTextWriterWrapper.cs
new file mode 100644
index 0000000..747db08
--- /dev/null
+++ b/src/Lucene.Net.Tests/Support/IO/TestSafeTextWriterWrapper.cs
@@ -0,0 +1,68 @@
+/*
+ *
+ * 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 Lucene.Net.Util;
+using NUnit.Framework;
+using System;
+using System.IO;
+
+namespace Lucene.Net.Support.IO
+{
+    public class TestSafeTextWriterWrapper : LuceneTestCase
+    {
+        [Test]
+        public void TestWrite()
+        {
+            SafeTextWriterWrapper safe;
+            using (TextWriter wrapped = new StringWriter())
+            {
+                safe = new SafeTextWriterWrapper(wrapped);
+
+                safe.Write('a');
+                assertEquals("a", wrapped.ToString());
+            }
+
+            Assert.DoesNotThrow(() => safe.Write('a'));
+            Assert.DoesNotThrow(() => safe.Write('a'));
+            Assert.DoesNotThrow(() => safe.Write("a"));
+        }
+
+        [Test]
+        public void TestWriteLine()
+        {
+            SafeTextWriterWrapper safe;
+            using (TextWriter wrapped = new StringWriter())
+            {
+                safe = new SafeTextWriterWrapper(wrapped);
+
+                safe.WriteLine('a');
+                assertEquals("a" + Environment.NewLine, wrapped.ToString());
+
+                safe.WriteLine("This is a test");
+                assertEquals("a" + Environment.NewLine + "This is a test" + Environment.NewLine, wrapped.ToString());
+            }
+
+            Assert.DoesNotThrow(() => safe.WriteLine('a'));
+            Assert.DoesNotThrow(() => safe.WriteLine("Testing"));
+            Assert.DoesNotThrow(() => safe.WriteLine("Testing"));
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Support/ReadFully.txt
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Support/ReadFully.txt b/src/Lucene.Net.Tests/Support/ReadFully.txt
deleted file mode 100644
index ad76b7a..0000000
--- a/src/Lucene.Net.Tests/Support/ReadFully.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
-aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur 
-sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
-aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur 
-sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
-aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
-Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur 
-sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Support/TestDataInputStream.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Support/TestDataInputStream.cs b/src/Lucene.Net.Tests/Support/TestDataInputStream.cs
deleted file mode 100644
index e51eef9..0000000
--- a/src/Lucene.Net.Tests/Support/TestDataInputStream.cs
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- *
- * 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 Lucene.Net.Attributes;
-using Lucene.Net.Util;
-using NUnit.Framework;
-using System;
-using System.IO;
-using System.Reflection;
-using System.Text;
-
-namespace Lucene.Net.Support
-{
-    public class TestDataInputStream : LuceneTestCase
-    {
-        [Test, LuceneNetSpecific]
-        public void TestReadFully()
-        {
-            const string READFULLY_TEST_FILE = "ReadFully.txt";
-            int fileLength;
-            Stream @in;
-
-            // Read one time to measure the length of the file (it may be different 
-            // on different operating systems because of line endings)
-            using (@in = GetType().getResourceAsStream(READFULLY_TEST_FILE))
-            {
-                using (var ms = new MemoryStream())
-                {
-                    @in.CopyTo(ms);
-                    fileLength = ms.ToArray().Length;
-                }
-            }
-
-            // Declare the buffer one byte too large
-            byte[] buffer = new byte[fileLength + 1];
-            @in = GetType().getResourceAsStream(READFULLY_TEST_FILE);
-            DataInputStream dis;
-            using (dis = new DataInputStream(@in))
-            { 
-                // Read once for real (to the exact length)
-                dis.ReadFully(buffer, 0, fileLength);
-            }
-
-            // Read past the end of the stream
-            @in = GetType().getResourceAsStream(READFULLY_TEST_FILE);
-            dis = new DataInputStream(@in);
-            bool caughtException = false;
-            try
-            {
-                // Using the buffer length (that is 1 byte too many)
-                // should generate EndOfStreamException.
-                dis.ReadFully(buffer, 0, buffer.Length);
-            }
-#pragma warning disable 168
-            catch (EndOfStreamException ie)
-#pragma warning restore 168
-            {
-                caughtException = true;
-            }
-            finally
-            {
-                dis.Dispose();
-                if (!caughtException)
-                    fail("Test failed");
-            }
-
-            // Ensure we get an IndexOutOfRangeException exception when length is negative
-            @in = GetType().getResourceAsStream(READFULLY_TEST_FILE);
-            dis = new DataInputStream(@in);
-            caughtException = false;
-            try
-            {
-                dis.ReadFully(buffer, 0, -20);
-            }
-#pragma warning disable 168
-            catch (IndexOutOfRangeException ie)
-#pragma warning restore 168
-            {
-                caughtException = true;
-            }
-            finally
-            {
-                dis.Dispose();
-                if (!caughtException)
-                    fail("Test failed");
-            }
-        }
-
-        [Test, LuceneNetSpecific]
-        public void TestReadLinePushback()
-        {
-            using (MemoryStream pis = new MemoryStream("\r".GetBytes(Encoding.UTF8)))
-            {
-                DataInputStream dis = new DataInputStream(pis);
-
-#pragma warning disable 612, 618
-                string line = dis.ReadLine();
-#pragma warning restore 612, 618
-                if (line == null)
-                {
-                    fail("Got null, should return empty line");
-                }
-
-                long count = pis.Length - (line.Length + 1 /*account for the newline*/);
-
-                if (count != 0)
-                {
-                    fail("Test failed: available() returns "
-                                         + count + " when the file is empty");
-                }
-            }
-        }
-
-        [Test, LuceneNetSpecific]
-        public void TestReadUTF()
-        {
-            for (int i = 0; i < TEST_ITERATIONS; i++)
-            {
-                try
-                {
-                    WriteAndReadAString();
-                }
-                catch (FormatException utfdfe)
-                {
-                    if (utfdfe.Message == null)
-                        fail("vague exception thrown");
-                }
-#pragma warning disable 168
-                catch (EndOfStreamException eofe)
-#pragma warning restore 168
-                {
-                    // These are rare and beyond the scope of the test
-                }
-            }
-        }
-
-
-        private static readonly int TEST_ITERATIONS = 1000;
-
-        private static readonly int A_NUMBER_NEAR_65535 = 60000;
-
-        private static readonly int MAX_CORRUPTIONS_PER_CYCLE = 3;
-
-        private static void WriteAndReadAString()
-        {
-            // Write out a string whose UTF-8 encoding is quite possibly
-            // longer than 65535 bytes
-            int length = Random().nextInt(A_NUMBER_NEAR_65535) + 1;
-            MemoryStream baos = new MemoryStream();
-            StringBuilder testBuffer = new StringBuilder();
-            for (int i = 0; i < length; i++)
-                testBuffer.append((char)Random().Next());
-            string testString = testBuffer.toString();
-            DataOutputStream dos = new DataOutputStream(baos);
-            dos.WriteUTF(testString);
-
-            // Corrupt the data to produce malformed characters
-            byte[] testBytes = baos.ToArray();
-            int dataLength = testBytes.Length;
-            int corruptions = Random().nextInt(MAX_CORRUPTIONS_PER_CYCLE);
-            for (int i = 0; i < corruptions; i++)
-            {
-                int index = Random().nextInt(dataLength);
-                testBytes[index] = (byte)Random().Next();
-            }
-
-            // Pay special attention to mangling the end to produce
-            // partial characters at end
-            testBytes[dataLength - 1] = (byte)Random().Next();
-            testBytes[dataLength - 2] = (byte)Random().Next();
-
-            // Attempt to decode the bytes back into a String
-            MemoryStream bais = new MemoryStream(testBytes);
-            DataInputStream dis = new DataInputStream(bais);
-            dis.ReadUTF();
-        }
-
-        [Test, LuceneNetSpecific]
-        public void TestSkipBytes()
-        {
-            DataInputStream dis = new DataInputStream(new MyInputStream());
-            dotest(dis, 0, 11, -1, 0);
-            dotest(dis, 0, 11, 5, 5);
-            Console.WriteLine("\n***CAUTION**** - may go into an infinite loop");
-            dotest(dis, 5, 11, 20, 6);
-        }
-
-
-        private static void dotest(DataInputStream dis, int pos, int total,
-                               int toskip, int expected)
-        {
-
-            try
-            {
-                if (VERBOSE)
-                {
-                    Console.WriteLine("\n\nTotal bytes in the stream = " + total);
-                    Console.WriteLine("Currently at position = " + pos);
-                    Console.WriteLine("Bytes to skip = " + toskip);
-                    Console.WriteLine("Expected result = " + expected);
-                }
-                int skipped = dis.SkipBytes(toskip);
-                if (VERBOSE)
-                {
-                    Console.WriteLine("Actual skipped = " + skipped);
-                }
-                if (skipped != expected)
-                {
-                    fail("DataInputStream.skipBytes does not return expected value");
-                }
-            }
-#pragma warning disable 168
-            catch (EndOfStreamException e)
-#pragma warning restore 168
-            {
-                fail("DataInputStream.skipBytes throws unexpected EOFException");
-            }
-#pragma warning disable 168
-            catch (IOException e)
-#pragma warning restore 168
-            {
-                Console.WriteLine("IOException is thrown - possible result");
-            }
-        }
-
-        internal class MyInputStream : MemoryStream
-        {
-
-            private int readctr = 0;
-
-
-            public override int ReadByte()
-            {
-
-                if (readctr > 10)
-                {
-                    return -1;
-                }
-                else
-                {
-                    readctr++;
-                    return 0;
-                }
-
-            }
-
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Support/TestDataOutputStream.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Support/TestDataOutputStream.cs b/src/Lucene.Net.Tests/Support/TestDataOutputStream.cs
deleted file mode 100644
index d9ea977..0000000
--- a/src/Lucene.Net.Tests/Support/TestDataOutputStream.cs
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- *
- * 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 Lucene.Net.Attributes;
-using Lucene.Net.Util;
-using NUnit.Framework;
-using System;
-using System.Diagnostics;
-using System.IO;
-
-namespace Lucene.Net.Support
-{
-    public class TestDataOutputStream : LuceneTestCase
-    {
-        [Test, LuceneNetSpecific]
-        public void TestCounterOverflow()
-        {
-            var output = new MemoryStream();
-            CounterOverflow dataOut = new CounterOverflow(output);
-
-            dataOut.WriteByte(1);
-            if (dataOut.Length < 0)
-            {
-                fail("Internal counter less than 0.");
-            }
-        }
-
-        private class CounterOverflow : DataOutputStream
-        {
-            public CounterOverflow(Stream output)
-                : base(output)
-            {
-                base.written = int.MaxValue;
-            }
-        }
-
-        [Test, LuceneNetSpecific]
-        public void TestWriteUTF()
-        {
-            ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            DataOutputStream dos = new DataOutputStream(baos);
-            dos.WriteUTF("Hello, World!");  // 15
-            dos.Flush();
-            if (baos.Length != dos.Length)
-                fail("Miscounted bytes in DataOutputStream.");
-        }
-
-        [Test, LuceneNetSpecific]
-        public void TestBoundsCheck()
-        {
-            byte[] data = { 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 };
-            ByteArrayOutputStream bos = new ByteArrayOutputStream();
-            DummyFilterStream dfs = new DummyFilterStream(bos);
-            bool caughtException = false;
-
-            // -ve length
-            try
-            {
-                dfs.Write(data, 0, -5);
-            }
-#pragma warning disable 168
-            catch (ArgumentOutOfRangeException ie)
-#pragma warning restore 168
-            {
-                caughtException = true;
-            }
-            finally
-            {
-                if (!caughtException)
-                    fail("Test failed");
-            }
-
-            // -ve offset
-            caughtException = false;
-            try
-            {
-                dfs.Write(data, -2, 5);
-            }
-#pragma warning disable 168
-            catch (ArgumentOutOfRangeException ie)
-#pragma warning restore 168
-            {
-                caughtException = true;
-            }
-            finally
-            {
-                if (!caughtException)
-                    fail("Test failed");
-            }
-
-            // off + len > data.length
-            caughtException = false;
-            try
-            {
-                dfs.Write(data, 6, 5);
-            }
-#pragma warning disable 168
-            catch (ArgumentException ie)
-#pragma warning restore 168
-            {
-                caughtException = true;
-            }
-            finally
-            {
-                if (!caughtException)
-                    fail("Test failed");
-            }
-
-            // null data
-            caughtException = false;
-            try
-            {
-                dfs.Write(null, 0, 5);
-            }
-#pragma warning disable 168
-            catch (ArgumentNullException re)
-#pragma warning restore 168
-            {
-                caughtException = true;
-            }
-            finally
-            {
-                if (!caughtException)
-                    fail("Test failed");
-            }
-        }
-
-        private class DummyFilterStream : DataOutputStream
-        {
-
-            public DummyFilterStream(Stream o)
-                    : base(o)
-            {
-            }
-
-            public override void Write(int val)
-            {
-                base.Write(val + 1);
-            }
-        }
-
-        [Test, LuceneNetSpecific]
-        public void TestWrite()
-        {
-            IDataOutput f = new F(new Sink());
-            f.Write(new byte[] { 1, 2, 3 }, 0, 3);
-        }
-
-        private class F : DataOutputStream
-        {
-
-            public F(Stream o)
-                    : base(o)
-            {
-            }
-
-            public override void Write(int b)
-            {
-                Debug.WriteLine("Ignoring write of " + b);
-            }
-
-        }
-
-        private class Sink : MemoryStream
-        {
-
-            public override void WriteByte(byte b)
-            {
-                throw new Exception("DataOutputStream directly invoked"
-                                           + " Write(byte) method of underlying"
-                                           + " stream");
-            }
-
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/Support/TestSafeTextWriterWrapper.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/Support/TestSafeTextWriterWrapper.cs b/src/Lucene.Net.Tests/Support/TestSafeTextWriterWrapper.cs
deleted file mode 100644
index 28d7d86..0000000
--- a/src/Lucene.Net.Tests/Support/TestSafeTextWriterWrapper.cs
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- *
- * 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 Lucene.Net.Util;
-using NUnit.Framework;
-using System;
-using System.IO;
-
-namespace Lucene.Net.Support
-{
-    public class TestSafeTextWriterWrapper : LuceneTestCase
-    {
-        [Test]
-        public void TestWrite()
-        {
-            SafeTextWriterWrapper safe;
-            using (TextWriter wrapped = new StringWriter())
-            {
-                safe = new SafeTextWriterWrapper(wrapped);
-
-                safe.Write('a');
-                assertEquals("a", wrapped.ToString());
-            }
-
-            Assert.DoesNotThrow(() => safe.Write('a'));
-            Assert.DoesNotThrow(() => safe.Write('a'));
-            Assert.DoesNotThrow(() => safe.Write("a"));
-        }
-
-        [Test]
-        public void TestWriteLine()
-        {
-            SafeTextWriterWrapper safe;
-            using (TextWriter wrapped = new StringWriter())
-            {
-                safe = new SafeTextWriterWrapper(wrapped);
-
-                safe.WriteLine('a');
-                assertEquals("a" + Environment.NewLine, wrapped.ToString());
-
-                safe.WriteLine("This is a test");
-                assertEquals("a" + Environment.NewLine + "This is a test" + Environment.NewLine, wrapped.ToString());
-            }
-
-            Assert.DoesNotThrow(() => safe.WriteLine('a'));
-            Assert.DoesNotThrow(() => safe.WriteLine("Testing"));
-            Assert.DoesNotThrow(() => safe.WriteLine("Testing"));
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net.Tests/project.json
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests/project.json b/src/Lucene.Net.Tests/project.json
index 7b32397..ccdeed7 100644
--- a/src/Lucene.Net.Tests/project.json
+++ b/src/Lucene.Net.Tests/project.json
@@ -48,7 +48,7 @@
         "Index/unsupported.24.nocfs.zip",
         "Index/unsupported.29.cfs.zip",
         "Index/unsupported.29.nocfs.zip",
-        "Support/ReadFully.txt"
+        "Support/IO/ReadFully.txt"
       ]
     }
   },

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net/Index/CheckIndex.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Index/CheckIndex.cs b/src/Lucene.Net/Index/CheckIndex.cs
index 6e9ad49..5ef6586 100644
--- a/src/Lucene.Net/Index/CheckIndex.cs
+++ b/src/Lucene.Net/Index/CheckIndex.cs
@@ -1,4 +1,5 @@
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.Collections.Generic;
 using System.Diagnostics;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net/Index/SegmentInfos.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Index/SegmentInfos.cs b/src/Lucene.Net/Index/SegmentInfos.cs
index def455f..5ad2b31 100644
--- a/src/Lucene.Net/Index/SegmentInfos.cs
+++ b/src/Lucene.Net/Index/SegmentInfos.cs
@@ -1,4 +1,5 @@
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.Collections;
 using System.Collections.Generic;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net/Lucene.Net.csproj
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Lucene.Net.csproj b/src/Lucene.Net/Lucene.Net.csproj
index ca7fffe..16e9d51 100644
--- a/src/Lucene.Net/Lucene.Net.csproj
+++ b/src/Lucene.Net/Lucene.Net.csproj
@@ -620,7 +620,7 @@
     <Compile Include="Support\AttributeItem.cs" />
     <Compile Include="Support\BitArrayExtensions.cs" />
     <Compile Include="Support\BundleResourceManagerFactory.cs" />
-    <Compile Include="Support\ByteArrayOutputStream.cs" />
+    <Compile Include="Support\IO\ByteArrayOutputStream.cs" />
     <Compile Include="Support\C5.Support.cs" />
     <Compile Include="Support\Character.cs" />
     <Compile Include="Support\Arrays.cs" />
@@ -635,14 +635,14 @@
     <Compile Include="Support\Codecs\ExcludePostingsFormatFromScanAttribute.cs" />
     <Compile Include="Support\Codecs\IPostingsFormatFactory.cs" />
     <Compile Include="Support\Codecs\PostingsFormatNameAttribute.cs" />
-    <Compile Include="Support\Compatibility\BinaryReaderDataInput.cs" />
-    <Compile Include="Support\Compatibility\BinaryWriterDataOutput.cs" />
+    <Compile Include="Support\IO\BinaryReaderDataInput.cs" />
+    <Compile Include="Support\IO\BinaryWriterDataOutput.cs" />
     <Compile Include="Support\Collections.cs" />
     <Compile Include="Support\ConcurrentHashMapWrapper.cs" />
     <Compile Include="Support\ConcurrentHashSet.cs" />
     <Compile Include="Support\CultureContext.cs" />
-    <Compile Include="Support\DataInputStream.cs" />
-    <Compile Include="Support\DataOutputStream.cs" />
+    <Compile Include="Support\IO\DataInputStream.cs" />
+    <Compile Include="Support\IO\DataOutputStream.cs" />
     <Compile Include="Support\Codecs\DefaultCodecFactory.cs" />
     <Compile Include="Support\Equatable.cs" />
     <Compile Include="Support\EquatableSet.cs" />
@@ -653,8 +653,8 @@
     <Compile Include="Support\ICallable.cs" />
     <Compile Include="Support\ICharSequence.cs" />
     <Compile Include="Support\ICompletionService.cs" />
-    <Compile Include="Support\IDataInput.cs" />
-    <Compile Include="Support\IDataOutput.cs" />
+    <Compile Include="Support\IO\IDataInput.cs" />
+    <Compile Include="Support\IO\IDataOutput.cs" />
     <Compile Include="Support\IdentityComparer.cs" />
     <Compile Include="Support\IdentityHashMap.cs" />
     <Compile Include="Support\IdentityHashSet.cs" />
@@ -685,10 +685,10 @@
     <Compile Include="Support\PriorityQueue.cs" />
     <Compile Include="Support\ReaderWriterLockSlimExtensions.cs" />
     <Compile Include="Support\ReentrantLock.cs" />
-    <Compile Include="Support\SafeTextWriterWrapper.cs" />
+    <Compile Include="Support\IO\SafeTextWriterWrapper.cs" />
     <Compile Include="Support\SetExtensions.cs" />
     <Compile Include="Support\SignedZeroComparer.cs" />
-    <Compile Include="Support\StreamUtils.cs" />
+    <Compile Include="Support\IO\StreamUtils.cs" />
     <Compile Include="Support\StringBuilderExtensions.cs" />
     <Compile Include="Support\StringCharSequenceWrapper.cs" />
     <Compile Include="Support\StringExtensions.cs" />
@@ -707,17 +707,17 @@
     <Compile Include="Support\Compatibility\ThreadLocal.cs" />
     <Compile Include="Support\Compatibility\WrappedHashSet.cs" />
     <Compile Include="Support\CRC32.cs" />
-    <Compile Include="Support\Deflater.cs" />
+    <Compile Include="Support\IO\Compression\Deflater.cs" />
     <Compile Include="Support\EquatableList.cs" />
-    <Compile Include="Support\FileSupport.cs" />
+    <Compile Include="Support\IO\FileSupport.cs" />
     <Compile Include="Support\GeneralKeyedCollection.cs" />
     <Compile Include="Support\HashMap.cs" />
     <Compile Include="Support\IChecksum.cs" />
-    <Compile Include="Support\Inflater.cs" />
+    <Compile Include="Support\IO\Compression\Inflater.cs" />
     <Compile Include="Support\IThreadRunnable.cs" />
     <Compile Include="Support\Number.cs" />
     <Compile Include="Support\OS.cs" />
-    <Compile Include="Support\SharpZipLib.cs" />
+    <Compile Include="Support\IO\Compression\SharpZipLib.cs" />
     <Compile Include="Support\ThreadClass.cs" />
     <Compile Include="Support\ThreadLock.cs" />
     <Compile Include="Support\Util\ExcludeServiceAttribute.cs" />
@@ -912,5 +912,6 @@
       <Link>Properties\CommonAssemblyInfo.cs</Link>
     </Compile>
   </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.Targets" />
 </Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net/Search/FieldCacheImpl.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Search/FieldCacheImpl.cs b/src/Lucene.Net/Search/FieldCacheImpl.cs
index 2c90960..9242770 100644
--- a/src/Lucene.Net/Search/FieldCacheImpl.cs
+++ b/src/Lucene.Net/Search/FieldCacheImpl.cs
@@ -1,5 +1,6 @@
 using Lucene.Net.Index;
 using Lucene.Net.Support;
+using Lucene.Net.Support.IO;
 using System;
 using System.Collections.Generic;
 using System.Diagnostics;

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net/Support/ByteArrayOutputStream.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Support/ByteArrayOutputStream.cs b/src/Lucene.Net/Support/ByteArrayOutputStream.cs
deleted file mode 100644
index fd70ba7..0000000
--- a/src/Lucene.Net/Support/ByteArrayOutputStream.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System.IO;
-using System.Text;
-
-namespace Lucene.Net.Support
-{
-    /*
-	 * 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.
-	 */
-
-    // Used to wrap Java's ByteArrayOutputStream's ToString() method, as MemoryStream uses default impl
-    public class ByteArrayOutputStream : MemoryStream
-    {
-        public ByteArrayOutputStream()
-        {
-        }
-
-        public ByteArrayOutputStream(int size)
-            : base(size)
-        {
-        }
-
-        public override string ToString()
-        {
-            return Encoding.UTF8.GetString(this.ToArray());
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net/Support/Compatibility/BinaryReaderDataInput.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Support/Compatibility/BinaryReaderDataInput.cs b/src/Lucene.Net/Support/Compatibility/BinaryReaderDataInput.cs
deleted file mode 100644
index 414c294..0000000
--- a/src/Lucene.Net/Support/Compatibility/BinaryReaderDataInput.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using Lucene.Net.Store;
-using System;
-using System.IO;
-
-namespace Lucene.Net.Support.Compatibility
-{
-    /*
-	 * 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.
-	 */
-    public class BinaryReaderDataInput : DataInput, IDisposable
-    {
-        private readonly BinaryReader br;
-        public BinaryReaderDataInput(BinaryReader br)
-        {
-            this.br = br;
-        }
-       
-        public override byte ReadByte()
-        {
-            return br.ReadByte();
-        }
-
-        public override void ReadBytes(byte[] b, int offset, int len)
-        {
-            byte[] temp = br.ReadBytes(len);
-            for (int i = offset; i < (offset + len) && i < temp.Length; i++)
-            {
-                b[i] = temp[i];
-            }
-        }
-
-        public void Dispose()
-        {
-            br.Dispose();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/37901853/src/Lucene.Net/Support/Compatibility/BinaryWriterDataOutput.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net/Support/Compatibility/BinaryWriterDataOutput.cs b/src/Lucene.Net/Support/Compatibility/BinaryWriterDataOutput.cs
deleted file mode 100644
index f895e94..0000000
--- a/src/Lucene.Net/Support/Compatibility/BinaryWriterDataOutput.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using System;
-using System.IO;
-using Lucene.Net.Store;
-
-namespace Lucene.Net.Support.Compatibility
-{
-    /*
-	 * 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.
-	 */
-    public class BinaryWriterDataOutput : DataOutput, IDisposable
-    {
-        private readonly BinaryWriter bw;
-
-        public BinaryWriterDataOutput(BinaryWriter bw)
-        {
-            this.bw = bw;
-        }
-
-        public override void WriteByte(byte b)
-        {
-            bw.Write(b);
-        }
-
-        public override void WriteBytes(byte[] b, int offset, int length)
-        {
-            bw.Write(b, offset, length);
-        }
-
-        public void Dispose()
-        {
-            bw.Dispose();
-        }
-    }
-}


Mime
View raw message