@@ -39,19 +39,35 @@ public void TestExtractInterfacePass()
3939 }
4040
4141 [ Test ]
42- public void TestCheckFlagEnumsPass ( )
42+ public void TestCheckEnumsPass ( )
4343 {
4444 var @enum = AstContext . Enum ( "FlagEnum" ) ;
45+ var enum2 = AstContext . Enum ( "FlagEnum2" ) ;
46+ var boolClassEnum = AstContext . Enum ( "BoolEnum" ) ;
47+ var ucharClassEnum = AstContext . Enum ( "UCharEnum" ) ;
48+
4549 Assert . IsFalse ( @enum . IsFlags ) ;
50+ Assert . IsFalse ( enum2 . IsFlags ) ;
51+ Assert . IsFalse ( boolClassEnum . IsFlags ) ;
52+ Assert . IsFalse ( ucharClassEnum . IsFlags ) ;
4653
47- var @enum2 = AstContext . Enum ( "FlagEnum2" ) ;
48- Assert . IsFalse ( @enum2 . IsFlags ) ;
54+ Assert . IsTrue ( @enum . BuiltinType . Type == PrimitiveType . Int ) ;
55+ Assert . IsTrue ( enum2 . BuiltinType . Type == PrimitiveType . Int ) ;
56+ Assert . IsTrue ( boolClassEnum . BuiltinType . Type == PrimitiveType . Bool ) ;
57+ Assert . IsTrue ( ucharClassEnum . BuiltinType . Type == PrimitiveType . UChar ) ;
4958
5059 passBuilder . AddPass ( new CheckEnumsPass ( ) ) ;
5160 passBuilder . RunPasses ( pass => pass . VisitASTContext ( AstContext ) ) ;
5261
5362 Assert . IsTrue ( @enum . IsFlags ) ;
54- Assert . IsFalse ( @enum2 . IsFlags ) ;
63+ Assert . IsFalse ( enum2 . IsFlags ) ;
64+ Assert . IsFalse ( boolClassEnum . IsFlags ) ;
65+ Assert . IsTrue ( ucharClassEnum . IsFlags ) ;
66+
67+ Assert . IsTrue ( @enum . BuiltinType . Type == PrimitiveType . Int ) ;
68+ Assert . IsTrue ( enum2 . BuiltinType . Type == PrimitiveType . Int ) ;
69+ Assert . IsTrue ( boolClassEnum . BuiltinType . Type != PrimitiveType . Bool , "C# does not support Bool enums" ) ;
70+ Assert . IsTrue ( ucharClassEnum . BuiltinType . Type == PrimitiveType . UChar ) ;
5571 }
5672
5773 [ Test ]
0 commit comments