diff --git a/RecordParser.Benchmark/VariableLengthWriterBenchmark.cs b/RecordParser.Benchmark/VariableLengthWriterBenchmark.cs index 7be0b4f..c4a2a2e 100644 --- a/RecordParser.Benchmark/VariableLengthWriterBenchmark.cs +++ b/RecordParser.Benchmark/VariableLengthWriterBenchmark.cs @@ -5,7 +5,7 @@ using FlatFiles; using FlatFiles.TypeMapping; using RecordParser.Builders.Writer; -using RecordParser.Extensions.FileWriter; +using RecordParser.Extensions; using SoftCircuits.CsvParser; using System; using System.Collections.Generic; diff --git a/RecordParser.Test/FileReaderTest.cs b/RecordParser.Test/FileReaderTest.cs index 6616549..1df32f2 100644 --- a/RecordParser.Test/FileReaderTest.cs +++ b/RecordParser.Test/FileReaderTest.cs @@ -1,7 +1,7 @@ using FluentAssertions; using MoreLinq; using RecordParser.Builders.Reader; -using RecordParser.Extensions.FileReader; +using RecordParser.Extensions; using System; using System.Collections.Generic; using System.Globalization; diff --git a/RecordParser.Test/FileWriterTest.cs b/RecordParser.Test/FileWriterTest.cs index efd5daf..408176c 100644 --- a/RecordParser.Test/FileWriterTest.cs +++ b/RecordParser.Test/FileWriterTest.cs @@ -3,8 +3,7 @@ using MoreLinq; using RecordParser.Builders.Reader; using RecordParser.Builders.Writer; -using RecordParser.Extensions.FileReader; -using RecordParser.Extensions.FileWriter; +using RecordParser.Extensions; using System; using System.Collections.Generic; using System.IO; diff --git a/RecordParser.Test/NamespaceTest.cs b/RecordParser.Test/NamespaceTest.cs new file mode 100644 index 0000000..e38ecc9 --- /dev/null +++ b/RecordParser.Test/NamespaceTest.cs @@ -0,0 +1,35 @@ +using FluentAssertions; +using RecordParser.Extensions; +using System; +using System.Linq; +using Xunit; + +namespace RecordParser.Test +{ + public class NamespaceTest : TestSetup + { + [Fact] + public void Given_public_types_inside_extensions_folder_should_not_have_namespaces_referencing_subfolder() + { + // Arrange + + bool IsDelegate(Type type) => typeof(Delegate).IsAssignableFrom(type.BaseType); + + var location = "RecordParser.Extensions"; + var types = typeof(WriterExtensions) + .Assembly + .GetTypes() + .Where(x => x.IsPublic && IsDelegate(x) is false) + .Where(x => x.Namespace.StartsWith(location)) + .ToArray(); + + // Act + + var typesDifferentLocation = types.Where(x => x.Namespace != location); + + // Assert + + typesDifferentLocation.Should().BeEmpty(); + } + } +} diff --git a/RecordParser/Extensions/FileReader/FixedLengthReaderExtensions.cs b/RecordParser/Extensions/FileReader/FixedLengthReaderExtensions.cs index 0b691cb..0636b6a 100644 --- a/RecordParser/Extensions/FileReader/FixedLengthReaderExtensions.cs +++ b/RecordParser/Extensions/FileReader/FixedLengthReaderExtensions.cs @@ -2,9 +2,9 @@ using System; using System.Collections.Generic; using System.IO; -using static RecordParser.Extensions.FileReader.ReaderCommon; +using static RecordParser.Extensions.ReaderCommon; -namespace RecordParser.Extensions.FileReader +namespace RecordParser.Extensions { public class FixedLengthReaderOptions { diff --git a/RecordParser/Extensions/FileReader/ReaderCommon.cs b/RecordParser/Extensions/FileReader/ReaderCommon.cs index 2efd3d4..ddef2b1 100644 --- a/RecordParser/Extensions/FileReader/ReaderCommon.cs +++ b/RecordParser/Extensions/FileReader/ReaderCommon.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Threading; -namespace RecordParser.Extensions.FileReader +namespace RecordParser.Extensions { public class ParallelismOptions { diff --git a/RecordParser/Extensions/FileReader/VariableLengthReaderExtensions.cs b/RecordParser/Extensions/FileReader/VariableLengthReaderExtensions.cs index ef69c5e..c27bbd3 100644 --- a/RecordParser/Extensions/FileReader/VariableLengthReaderExtensions.cs +++ b/RecordParser/Extensions/FileReader/VariableLengthReaderExtensions.cs @@ -3,9 +3,9 @@ using System; using System.Collections.Generic; using System.IO; -using static RecordParser.Extensions.FileReader.ReaderCommon; +using static RecordParser.Extensions.ReaderCommon; -namespace RecordParser.Extensions.FileReader +namespace RecordParser.Extensions { public class VariableLengthReaderOptions { diff --git a/RecordParser/Extensions/FileReader/VariableLengthReaderRawExtensions.cs b/RecordParser/Extensions/FileReader/VariableLengthReaderRawExtensions.cs index 741d5e7..9bfdf1c 100644 --- a/RecordParser/Extensions/FileReader/VariableLengthReaderRawExtensions.cs +++ b/RecordParser/Extensions/FileReader/VariableLengthReaderRawExtensions.cs @@ -7,9 +7,9 @@ using System.IO; using System.Linq; using System.Linq.Expressions; -using static RecordParser.Extensions.FileReader.ReaderCommon; +using static RecordParser.Extensions.ReaderCommon; -namespace RecordParser.Extensions.FileReader +namespace RecordParser.Extensions { public delegate string StringPool(ReadOnlySpan text); internal delegate void Get(ref TextFindHelper finder, string[] inst, StringPool cache); diff --git a/RecordParser/Extensions/FileWriter/WriterExtensions.cs b/RecordParser/Extensions/FileWriter/WriterExtensions.cs index ae7dd06..83767a3 100644 --- a/RecordParser/Extensions/FileWriter/WriterExtensions.cs +++ b/RecordParser/Extensions/FileWriter/WriterExtensions.cs @@ -4,10 +4,8 @@ using System.IO; using System.Linq; -namespace RecordParser.Extensions.FileWriter +namespace RecordParser.Extensions { - using RecordParser.Extensions.FileReader; - /// /// Delegate representing object to text convert method. ///