1 module ut.ctfe.types; 2 3 4 import ut.ctfe; 5 6 7 @("empty") 8 @safe pure unittest { 9 module_!"modules.empty".should == Module("modules.empty"); 10 } 11 12 13 @("imports") 14 @safe pure unittest { 15 module_!"modules.imports".should == Module("modules.imports"); 16 } 17 18 19 @("types") 20 @safe pure unittest { 21 enum mod = module_!"modules.types"; 22 23 mod.aggregates[].should == [ 24 Aggregate("String", Aggregate.Kind.struct_), 25 Aggregate("Enum", Aggregate.Kind.enum_), 26 Aggregate("Class", Aggregate.Kind.class_), 27 Aggregate("Interface", Aggregate.Kind.interface_), 28 Aggregate("AbstractClass", Aggregate.Kind.class_), 29 Aggregate("MiddleClass", Aggregate.Kind.class_), 30 Aggregate("LeafClass", Aggregate.Kind.class_), 31 Aggregate("Point", Aggregate.Kind.struct_), 32 Aggregate("Inner1", Aggregate.Kind.struct_), 33 Aggregate("EvenInner", Aggregate.Kind.struct_), 34 Aggregate("Inner2", Aggregate.Kind.struct_), 35 Aggregate("Outer", Aggregate.Kind.struct_), 36 Aggregate("Char", Aggregate.Kind.enum_), 37 ]; 38 39 mod.allAggregates[].should == [ 40 Aggregate("String", Aggregate.Kind.struct_), 41 Aggregate("Enum", Aggregate.Kind.enum_), 42 Aggregate("Class", Aggregate.Kind.class_), 43 Aggregate("Interface", Aggregate.Kind.interface_), 44 Aggregate("AbstractClass", Aggregate.Kind.class_), 45 Aggregate("MiddleClass", Aggregate.Kind.class_), 46 Aggregate("LeafClass", Aggregate.Kind.class_), 47 Aggregate("Point", Aggregate.Kind.struct_), 48 Aggregate("Inner1", Aggregate.Kind.struct_), 49 Aggregate("EvenInner", Aggregate.Kind.struct_), 50 Aggregate("Inner2", Aggregate.Kind.struct_), 51 Aggregate("Outer", Aggregate.Kind.struct_), 52 Aggregate("Char", Aggregate.Kind.enum_), 53 ]; 54 } 55 56 57 @("problems") 58 @safe pure unittest { 59 module_!"modules.problems".should == 60 Module( 61 "modules.problems", 62 [], 63 [], 64 [Variable("int[]", "gInts")], 65 [] 66 ); 67 } 68 69 70 @("variables") 71 @safe pure unittest { 72 enum mod = module_!"modules.variables"; 73 mod.aggregates[].should == [ 74 Aggregate("Struct", Aggregate.Kind.struct_), 75 ]; 76 }