Browse Source

Update the passes test so they actually work.

pull/1/head
triton 13 years ago
parent
commit
ea32fb14ed
  1. 11
      src/Generator.Tests/HeaderTestFixture.cs
  2. 33
      src/Generator.Tests/Passes/TestPasses.cs

11
src/Generator.Tests/HeaderTestFixture.cs

@ -12,6 +12,12 @@ namespace Generator.Tests @@ -12,6 +12,12 @@ namespace Generator.Tests
private const string TestsDirectory = @"..\..\..\tests\Native";
public HeaderTestFixture()
{
database = new TypeMapDatabase();
database.SetupTypeMaps();
}
protected void ParseLibrary(string file)
{
ParseLibrary(TestsDirectory, file);
@ -19,13 +25,10 @@ namespace Generator.Tests @@ -19,13 +25,10 @@ namespace Generator.Tests
protected void ParseLibrary(string dir, string file)
{
database = new TypeMapDatabase();
database.SetupTypeMaps();
var options = new DriverOptions();
var path = Path.Combine(Directory.GetCurrentDirectory(), dir);
options.IncludeDirs.Add(path);
options.IncludeDirs.Add(Path.GetFullPath(path));
var parser = new Parser(options);
var result = parser.ParseHeader(file);

33
src/Generator.Tests/Passes/TestPasses.cs

@ -12,12 +12,12 @@ namespace Generator.Tests.Passes @@ -12,12 +12,12 @@ namespace Generator.Tests.Passes
[TestFixtureSetUp]
public void Init()
{
ParseLibrary("Passes.h");
}
[SetUp]
public void Setup()
{
ParseLibrary("Passes.h");
passBuilder = new PassBuilder(library);
}
@ -33,21 +33,36 @@ namespace Generator.Tests.Passes @@ -33,21 +33,36 @@ namespace Generator.Tests.Passes
passBuilder.CheckFlagEnums();
passBuilder.RunPasses();
Assert.IsFalse(@enum.IsFlags);
Assert.IsTrue(@enum2.IsFlags);
Assert.IsTrue(@enum.IsFlags);
Assert.IsFalse(@enum2.IsFlags);
}
[Test]
public void TestFunctionToInstancePass()
{
var c = library.Class("C");
var c = library.Class("Foo");
Assert.IsNull(c.Methods.Find(m => m.Name == "DoSomethingC"));
Assert.IsNull(c.Method("Start"));
passBuilder.FunctionToInstanceMethod();
passBuilder.RunPasses();
Assert.IsNotNull(c.Methods.Find(m => m.Name == "DoSomethingC"));
Assert.IsNotNull(c.Method("Start"));
}
[Test]
public void TestFunctionToStaticPass()
{
var c = library.Class("Foo");
Assert.IsFalse(library.Function("FooStart").ExplicityIgnored);
Assert.IsNull(c.Method("Start"));
passBuilder.FunctionToStaticMethod();
passBuilder.RunPasses();
Assert.IsTrue(library.Function("FooStart").ExplicityIgnored);
Assert.IsNotNull(c.Method("Start"));
}
[Test]
@ -79,5 +94,11 @@ namespace Generator.Tests.Passes @@ -79,5 +94,11 @@ namespace Generator.Tests.Passes
Assert.That(@enum.Items[0].Name, Is.EqualTo("_0"));
}
[Test]
public void TestStructInheritance()
{
}
}
}

Loading…
Cancel
Save