From 6fa7077dbd2a6bbda55703420eba666ae215550c Mon Sep 17 00:00:00 2001 From: Elias Holzer Date: Wed, 7 May 2014 19:03:43 +0200 Subject: [PATCH] Moved unnamed enums test to generator tests. --- src/Generator.Tests/Passes/TestPasses.cs | 20 ++++++++++++++++++++ tests/Basic/Basic.Tests.cs | 9 --------- tests/Basic/Basic.h | 4 ---- tests/Native/Passes.h | 6 +++++- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/Generator.Tests/Passes/TestPasses.cs b/src/Generator.Tests/Passes/TestPasses.cs index c2656f73..f03e25dc 100644 --- a/src/Generator.Tests/Passes/TestPasses.cs +++ b/src/Generator.Tests/Passes/TestPasses.cs @@ -95,6 +95,26 @@ namespace CppSharp.Generator.Tests.Passes Assert.That(@enum.Items[0].Name, Is.EqualTo("_0")); } + [Test] + public void TestUnnamedEnumSupport() + { + passBuilder.AddPass(new CleanInvalidDeclNamesPass()); + passBuilder.RunPasses(pass => pass.VisitLibrary(AstContext)); + + var unnamedEnum1 = AstContext.FindEnum("Unnamed_Enum_1").Single(); + var unnamedEnum2 = AstContext.FindEnum("Unnamed_Enum_2").Single(); + Assert.IsNotNull(unnamedEnum1); + Assert.IsNotNull(unnamedEnum2); + + Assert.AreEqual(2, unnamedEnum1.Items.Count); + Assert.AreEqual(2, unnamedEnum2.Items.Count); + + Assert.AreEqual(1, unnamedEnum1.Items[0].Value); + Assert.AreEqual(2, unnamedEnum1.Items[1].Value); + Assert.AreEqual(3, unnamedEnum2.Items[0].Value); + Assert.AreEqual(4, unnamedEnum2.Items[1].Value); + } + [Test] public void TestStructInheritance() { diff --git a/tests/Basic/Basic.Tests.cs b/tests/Basic/Basic.Tests.cs index 172e4597..e9fd6e1d 100644 --- a/tests/Basic/Basic.Tests.cs +++ b/tests/Basic/Basic.Tests.cs @@ -302,14 +302,5 @@ public class BasicTests : GeneratorTestFixture ClassC classC = (ClassC)classB; Assert.AreEqual(classB.Value, classC.Value); } - - [Test] - public unsafe void TestUnnamedEnums() - { - Assert.AreEqual(1, (int)Unnamed_Enum_1.Unnamed_Enum_1_A); - Assert.AreEqual(2, (int)Unnamed_Enum_1.Unnamed_Enum_1_B); - Assert.AreEqual(3, (int)Unnamed_Enum_2.Unnamed_Enum_2_A); - Assert.AreEqual(4, (int)Unnamed_Enum_2.Unnamed_Enum_2_B); - } } \ No newline at end of file diff --git a/tests/Basic/Basic.h b/tests/Basic/Basic.h index c5edae1d..3a60dcfd 100644 --- a/tests/Basic/Basic.h +++ b/tests/Basic/Basic.h @@ -86,10 +86,6 @@ enum Enum F = -9 }; -// Tests unnamed enums -enum { Unnamed_Enum_1_A = 1, Unnamed_Enum_1_B = 2 }; -enum { Unnamed_Enum_2_A = 3, Unnamed_Enum_2_B = 4 }; - class DLL_API Hello { union NestedPrivate { diff --git a/tests/Native/Passes.h b/tests/Native/Passes.h index 2435b21d..f2a44b04 100644 --- a/tests/Native/Passes.h +++ b/tests/Native/Passes.h @@ -32,4 +32,8 @@ struct TestRename // TestStructInheritance struct S1 { int F1, F2; }; -struct S2 : S1 { int F3; }; \ No newline at end of file +struct S2 : S1 { int F3; }; + +// Tests unnamed enums +enum { Unnamed_Enum_1_A = 1, Unnamed_Enum_1_B = 2 }; +enum { Unnamed_Enum_2_A = 3, Unnamed_Enum_2_B = 4 };