diff --git a/src/NPetrovich.Tests/Fixtures/CaseInflectionFixture.cs b/src/NPetrovich.Tests/Fixtures/CaseInflectionFixture.cs
index cf23a1a..7e2964a 100644
--- a/src/NPetrovich.Tests/Fixtures/CaseInflectionFixture.cs
+++ b/src/NPetrovich.Tests/Fixtures/CaseInflectionFixture.cs
@@ -1,6 +1,7 @@
using NPetrovich.Inflection;
using NPetrovich.Rules;
using NPetrovich.Rules.Loader.Yaml;
+using NPetrovich.Tests.TestDataProviders;
using NUnit.Framework;
using System;
using System.Collections;
@@ -44,60 +45,5 @@ public void Should_inflect_middle_name_correctly(string middleName, Gender gende
var actual = new CaseInflection(provider, gender).InflectMiddleNameTo(middleName, @case);
Assert.AreEqual(expected, actual, string.Format("Gender: {0}, Case: {1}", gender, @case));
}
-
- public class InflectionTestCaseDataFactory
- {
- public static IEnumerable LastNamesInflectionData
- {
- get
- {
- using (var reader = new StreamReader(Path.Combine("Data", "LastNames.csv")))
- {
- foreach (var p in ReadCaseData(reader)) yield return p;
- }
- }
- }
-
- public static IEnumerable FirstNamesInflectionData
- {
- get
- {
- using (var reader = new StreamReader(Path.Combine("Data", "FirstNames.csv")))
- {
- foreach (var p in ReadCaseData(reader)) yield return p;
- }
- }
- }
-
- public static IEnumerable MiddleNamesInflectionData
- {
- get
- {
- using (var reader = new StreamReader(Path.Combine("Data", "MiddleNames.csv")))
- {
- foreach (var p in ReadCaseData(reader)) yield return p;
- }
- }
- }
-
- private static IEnumerable ReadCaseData(StreamReader reader)
- {
- string line;
- while ((line = reader.ReadLine()) != null)
- {
- if (string.IsNullOrWhiteSpace(line))
- continue;
-
- var chunks = line.Split(',').Select(s => s.Trim()).ToList();
-
- var gender = (Gender)Enum.Parse(typeof(Gender), chunks[1]);
- var @case = (Case)Enum.Parse(typeof(Case), chunks[2]);
-
- yield return new object[] { chunks[0], gender, @case, chunks[3] };
- }
- }
-
- }
-
}
}
diff --git a/src/NPetrovich.Tests/NPetrovich.Tests.csproj b/src/NPetrovich.Tests/NPetrovich.Tests.csproj
index baf8674..d78c1ec 100644
--- a/src/NPetrovich.Tests/NPetrovich.Tests.csproj
+++ b/src/NPetrovich.Tests/NPetrovich.Tests.csproj
@@ -53,6 +53,7 @@
+
diff --git a/src/NPetrovich.Tests/TestDataProviders/InflectionTestCaseDataFactory.cs b/src/NPetrovich.Tests/TestDataProviders/InflectionTestCaseDataFactory.cs
new file mode 100644
index 0000000..df59b17
--- /dev/null
+++ b/src/NPetrovich.Tests/TestDataProviders/InflectionTestCaseDataFactory.cs
@@ -0,0 +1,61 @@
+using System;
+using System.Collections;
+using System.IO;
+using System.Linq;
+
+namespace NPetrovich.Tests.TestDataProviders
+{
+ public class InflectionTestCaseDataFactory
+ {
+ public static IEnumerable LastNamesInflectionData
+ {
+ get
+ {
+ using (var reader = new StreamReader(Path.Combine("Data", "LastNames.csv")))
+ {
+ foreach (var p in ReadCaseData(reader)) yield return p;
+ }
+ }
+ }
+
+ public static IEnumerable FirstNamesInflectionData
+ {
+ get
+ {
+ using (var reader = new StreamReader(Path.Combine("Data", "FirstNames.csv")))
+ {
+ foreach (var p in ReadCaseData(reader)) yield return p;
+ }
+ }
+ }
+
+ public static IEnumerable MiddleNamesInflectionData
+ {
+ get
+ {
+ using (var reader = new StreamReader(Path.Combine("Data", "MiddleNames.csv")))
+ {
+ foreach (var p in ReadCaseData(reader)) yield return p;
+ }
+ }
+ }
+
+ private static IEnumerable ReadCaseData(StreamReader reader)
+ {
+ string line;
+ while ((line = reader.ReadLine()) != null)
+ {
+ if (string.IsNullOrWhiteSpace(line))
+ continue;
+
+ var chunks = line.Split(',').Select(s => s.Trim()).ToList();
+
+ var gender = (Gender)Enum.Parse(typeof(Gender), chunks[1]);
+ var @case = (Case)Enum.Parse(typeof(Case), chunks[2]);
+
+ yield return new object[] { chunks[0], gender, @case, chunks[3] };
+ }
+ }
+
+ }
+}