@@ -41,8 +41,8 @@ def test_empty_class(generate):
4141 assert generate ([
4242 schema .Class (name = "MyClass" ),
4343 ]) == [
44- cpp .Class (name = "MyClass" , final = True , trap_name = "MyClasses" )
45- ]
44+ cpp .Class (name = "MyClass" , final = True , trap_name = "MyClasses" )
45+ ]
4646
4747
4848def test_two_class_hierarchy (generate ):
@@ -51,9 +51,9 @@ def test_two_class_hierarchy(generate):
5151 schema .Class (name = "A" , derived = {"B" }),
5252 schema .Class (name = "B" , bases = ["A" ]),
5353 ]) == [
54- base ,
55- cpp .Class (name = "B" , bases = [base ], final = True , trap_name = "Bs" ),
56- ]
54+ base ,
55+ cpp .Class (name = "B" , bases = [base ], final = True , trap_name = "Bs" ),
56+ ]
5757
5858
5959@pytest .mark .parametrize ("type,expected" , [
@@ -62,22 +62,23 @@ def test_two_class_hierarchy(generate):
6262 ("boolean" , "bool" ),
6363 ("MyClass" , "TrapLabel<MyClassTag>" ),
6464])
65- @pytest .mark .parametrize ("property_cls,optional,repeated,trap_name" , [
66- (schema .SingleProperty , False , False , None ),
67- (schema .OptionalProperty , True , False , "MyClassProps" ),
68- (schema .RepeatedProperty , False , True , "MyClassProps" ),
69- (schema .RepeatedOptionalProperty , True , True , "MyClassProps" ),
65+ @pytest .mark .parametrize ("property_cls,optional,repeated,unordered,trap_name" , [
66+ (schema .SingleProperty , False , False , False , None ),
67+ (schema .OptionalProperty , True , False , False , "MyClassProps" ),
68+ (schema .RepeatedProperty , False , True , False , "MyClassProps" ),
69+ (schema .RepeatedOptionalProperty , True , True , False , "MyClassProps" ),
70+ (schema .RepeatedUnorderedProperty , False , True , True , "MyClassProps" ),
7071])
71- def test_class_with_field (generate , type , expected , property_cls , optional , repeated , trap_name ):
72+ def test_class_with_field (generate , type , expected , property_cls , optional , repeated , unordered , trap_name ):
7273 assert generate ([
7374 schema .Class (name = "MyClass" , properties = [property_cls ("prop" , type )]),
7475 ]) == [
75- cpp .Class (name = "MyClass" ,
76- fields = [cpp .Field ("prop" , expected , is_optional = optional ,
77- is_repeated = repeated , trap_name = trap_name )],
78- trap_name = "MyClasses" ,
79- final = True )
80- ]
76+ cpp .Class (name = "MyClass" ,
77+ fields = [cpp .Field ("prop" , expected , is_optional = optional ,
78+ is_repeated = repeated , is_unordered = unordered , trap_name = trap_name )],
79+ trap_name = "MyClasses" ,
80+ final = True )
81+ ]
8182
8283
8384def test_class_field_with_null (generate , input ):
@@ -90,26 +91,26 @@ def test_class_field_with_null(generate, input):
9091 schema .SingleProperty ("y" , "B" ),
9192 ])
9293 ]) == [
93- a ,
94- cpp .Class (name = "B" , bases = [a ], final = True , trap_name = "Bs" ,
95- fields = [
96- cpp .Field ("x" , "TrapLabel<ATag>" ),
97- cpp .Field ("y" , "TrapLabel<BOrNoneTag>" ),
98- ]),
99- ]
94+ a ,
95+ cpp .Class (name = "B" , bases = [a ], final = True , trap_name = "Bs" ,
96+ fields = [
97+ cpp .Field ("x" , "TrapLabel<ATag>" ),
98+ cpp .Field ("y" , "TrapLabel<BOrNoneTag>" ),
99+ ]),
100+ ]
100101
101102
102103def test_class_with_predicate (generate ):
103104 assert generate ([
104105 schema .Class (name = "MyClass" , properties = [
105106 schema .PredicateProperty ("prop" )]),
106107 ]) == [
107- cpp .Class (name = "MyClass" ,
108- fields = [
109- cpp .Field ("prop" , "bool" , trap_name = "MyClassProp" , is_predicate = True )],
110- trap_name = "MyClasses" ,
111- final = True )
112- ]
108+ cpp .Class (name = "MyClass" ,
109+ fields = [
110+ cpp .Field ("prop" , "bool" , trap_name = "MyClassProp" , is_predicate = True )],
111+ trap_name = "MyClasses" ,
112+ final = True )
113+ ]
113114
114115
115116@pytest .mark .parametrize ("name" ,
@@ -119,23 +120,23 @@ def test_class_with_overridden_unsigned_field(generate, name):
119120 schema .Class (name = "MyClass" , properties = [
120121 schema .SingleProperty (name , "bar" )]),
121122 ]) == [
122- cpp .Class (name = "MyClass" ,
123- fields = [cpp .Field (name , "unsigned" )],
124- trap_name = "MyClasses" ,
125- final = True )
126- ]
123+ cpp .Class (name = "MyClass" ,
124+ fields = [cpp .Field (name , "unsigned" )],
125+ trap_name = "MyClasses" ,
126+ final = True )
127+ ]
127128
128129
129130def test_class_with_overridden_underscore_field (generate ):
130131 assert generate ([
131132 schema .Class (name = "MyClass" , properties = [
132133 schema .SingleProperty ("something_" , "bar" )]),
133134 ]) == [
134- cpp .Class (name = "MyClass" ,
135- fields = [cpp .Field ("something" , "bar" )],
136- trap_name = "MyClasses" ,
137- final = True )
138- ]
135+ cpp .Class (name = "MyClass" ,
136+ fields = [cpp .Field ("something" , "bar" )],
137+ trap_name = "MyClasses" ,
138+ final = True )
139+ ]
139140
140141
141142@pytest .mark .parametrize ("name" , cpp .cpp_keywords )
@@ -144,11 +145,11 @@ def test_class_with_keyword_field(generate, name):
144145 schema .Class (name = "MyClass" , properties = [
145146 schema .SingleProperty (name , "bar" )]),
146147 ]) == [
147- cpp .Class (name = "MyClass" ,
148- fields = [cpp .Field (name + "_" , "bar" )],
149- trap_name = "MyClasses" ,
150- final = True )
151- ]
148+ cpp .Class (name = "MyClass" ,
149+ fields = [cpp .Field (name + "_" , "bar" )],
150+ trap_name = "MyClasses" ,
151+ final = True )
152+ ]
152153
153154
154155def test_classes_with_dirs (generate_grouped ):
@@ -160,11 +161,11 @@ def test_classes_with_dirs(generate_grouped):
160161 schema .Class (name = "C" , bases = ["CBase" ], group = "bar" ),
161162 schema .Class (name = "D" , group = "foo/bar/baz" ),
162163 ]) == {
163- "." : [cpp .Class (name = "A" , trap_name = "As" , final = True )],
164- "foo" : [cpp .Class (name = "B" , trap_name = "Bs" , final = True )],
165- "bar" : [cbase , cpp .Class (name = "C" , bases = [cbase ], trap_name = "Cs" , final = True )],
166- "foo/bar/baz" : [cpp .Class (name = "D" , trap_name = "Ds" , final = True )],
167- }
164+ "." : [cpp .Class (name = "A" , trap_name = "As" , final = True )],
165+ "foo" : [cpp .Class (name = "B" , trap_name = "Bs" , final = True )],
166+ "bar" : [cbase , cpp .Class (name = "C" , bases = [cbase ], trap_name = "Cs" , final = True )],
167+ "foo/bar/baz" : [cpp .Class (name = "D" , trap_name = "Ds" , final = True )],
168+ }
168169
169170
170171def test_cpp_skip_pragma (generate ):
@@ -174,10 +175,10 @@ def test_cpp_skip_pragma(generate):
174175 schema .SingleProperty ("y" , "bar" , pragmas = ["x" , "cpp_skip" , "y" ]),
175176 ])
176177 ]) == [
177- cpp .Class (name = "A" , final = True , trap_name = "As" , fields = [
178- cpp .Field ("x" , "foo" ),
179- ]),
180- ]
178+ cpp .Class (name = "A" , final = True , trap_name = "As" , fields = [
179+ cpp .Field ("x" , "foo" ),
180+ ]),
181+ ]
181182
182183
183184def test_ipa_classes_ignored (generate ):
@@ -198,8 +199,8 @@ def test_ipa_classes_ignored(generate):
198199 name = "Z" ,
199200 ),
200201 ]) == [
201- cpp .Class (name = "Z" , final = True , trap_name = "Zs" ),
202- ]
202+ cpp .Class (name = "Z" , final = True , trap_name = "Zs" ),
203+ ]
203204
204205
205206if __name__ == '__main__' :
0 commit comments