diff --git a/src/Generator.Tests/GeneratorTest.cs b/src/Generator.Tests/GeneratorTest.cs
index 91651f3f..8c620927 100644
--- a/src/Generator.Tests/GeneratorTest.cs
+++ b/src/Generator.Tests/GeneratorTest.cs
@@ -1,10 +1,8 @@
using System;
using System.IO;
using System.Reflection;
-using System.Text.RegularExpressions;
using CppSharp.AST;
using CppSharp.Generators;
-using NUnit.Framework;
namespace CppSharp.Utils
{
@@ -107,84 +105,4 @@ namespace CppSharp.Utils
}
#endregion
}
-
- ///
- /// The main NUnit fixture base class for a generator-based tests project.
- /// Provides support for a text-based test system that looks for lines
- /// in the native test declarations that match a certain pattern, which
- /// are used for certain kinds of tests that cannot be done with just
- /// C# code and using the generated wrappers.
- ///
- [TestFixture]
- public abstract class GeneratorTestFixture
- {
- readonly string assemblyName;
-
- protected GeneratorTestFixture()
- {
- var location = Assembly.GetCallingAssembly().Location;
- assemblyName = Path.GetFileNameWithoutExtension(location);
- }
-
- static bool GetGeneratorKindFromLang(string lang, out GeneratorKind kind)
- {
- kind = GeneratorKind.CSharp;
-
- switch(lang)
- {
- case "CSharp":
- case "C#":
- kind = GeneratorKind.CSharp;
- return true;
- case "CLI":
- kind = GeneratorKind.CLI;
- return true;
- }
-
- return false;
- }
-
- [Test]
- public void CheckDirectives()
- {
- var name = assemblyName.Substring(0, assemblyName.IndexOf('.'));
- var kind = assemblyName.Substring(assemblyName.LastIndexOf('.') + 1);
- GeneratorKind testKind;
- if (!GetGeneratorKindFromLang(kind, out testKind))
- throw new NotSupportedException("Unknown language generator");
-
- var path = Path.GetFullPath(GeneratorTest.GetTestsDirectory(name));
-
- foreach (var header in Directory.EnumerateFiles(path, "*.h"))
- {
- var headerText = File.ReadAllText(header);
-
- // Parse the header looking for suitable lines to test.
- foreach (var line in File.ReadAllLines(header))
- {
- var match = Regex.Match(line, @"^\s*///*\s*(\S+)\s*:\s*(.*)");
- if (!match.Success)
- continue;
-
- var matchLang = match.Groups[1].Value;
- GeneratorKind matchKind;
- if (!GetGeneratorKindFromLang(matchLang.ToUpper(), out matchKind))
- continue;
-
- if (matchKind != testKind)
- continue;
-
- var matchText = match.Groups[2].Value;
- if (string.IsNullOrWhiteSpace(matchText))
- continue;
-
- var matchIndex = headerText.IndexOf(matchText, StringComparison.Ordinal);
- Assert.IsTrue(matchIndex != -1,
- string.Format("Could not match '{0}' in file '{1}'",
- matchText, header));
- }
- }
-
- }
- }
}
diff --git a/src/Generator.Tests/GeneratorTestFixture.cs b/src/Generator.Tests/GeneratorTestFixture.cs
new file mode 100644
index 00000000..e6f413f3
--- /dev/null
+++ b/src/Generator.Tests/GeneratorTestFixture.cs
@@ -0,0 +1,89 @@
+using System;
+using System.IO;
+using System.Reflection;
+using System.Text.RegularExpressions;
+using CppSharp.Generators;
+using NUnit.Framework;
+
+namespace CppSharp.Utils
+{
+ ///
+ /// The main NUnit fixture base class for a generator-based tests project.
+ /// Provides support for a text-based test system that looks for lines
+ /// in the native test declarations that match a certain pattern, which
+ /// are used for certain kinds of tests that cannot be done with just
+ /// C# code and using the generated wrappers.
+ ///
+ [TestFixture]
+ public abstract class GeneratorTestFixture
+ {
+ readonly string assemblyName;
+
+ protected GeneratorTestFixture()
+ {
+ var location = Assembly.GetCallingAssembly().Location;
+ assemblyName = Path.GetFileNameWithoutExtension(location);
+ }
+
+ static bool GetGeneratorKindFromLang(string lang, out GeneratorKind kind)
+ {
+ kind = GeneratorKind.CSharp;
+
+ switch(lang)
+ {
+ case "CSharp":
+ case "C#":
+ kind = GeneratorKind.CSharp;
+ return true;
+ case "CLI":
+ kind = GeneratorKind.CLI;
+ return true;
+ }
+
+ return false;
+ }
+
+ [Test]
+ public void CheckDirectives()
+ {
+ var name = assemblyName.Substring(0, assemblyName.IndexOf('.'));
+ var kind = assemblyName.Substring(assemblyName.LastIndexOf('.') + 1);
+ GeneratorKind testKind;
+ if (!GetGeneratorKindFromLang(kind, out testKind))
+ throw new NotSupportedException("Unknown language generator");
+
+ var path = Path.GetFullPath(GeneratorTest.GetTestsDirectory(name));
+
+ foreach (var header in Directory.EnumerateFiles(path, "*.h"))
+ {
+ var headerText = File.ReadAllText(header);
+
+ // Parse the header looking for suitable lines to test.
+ foreach (var line in File.ReadAllLines(header))
+ {
+ var match = Regex.Match(line, @"^\s*///*\s*(\S+)\s*:\s*(.*)");
+ if (!match.Success)
+ continue;
+
+ var matchLang = match.Groups[1].Value;
+ GeneratorKind matchKind;
+ if (!GetGeneratorKindFromLang(matchLang.ToUpper(), out matchKind))
+ continue;
+
+ if (matchKind != testKind)
+ continue;
+
+ var matchText = match.Groups[2].Value;
+ if (string.IsNullOrWhiteSpace(matchText))
+ continue;
+
+ var matchIndex = headerText.IndexOf(matchText, StringComparison.Ordinal);
+ Assert.IsTrue(matchIndex != -1,
+ string.Format("Could not match '{0}' in file '{1}'",
+ matchText, header));
+ }
+ }
+
+ }
+ }
+}