@@ -107,95 +107,93 @@ def test_lookups(cs: cstruct, compiled: bool):
107
107
assert cs .lookups ["a" ] == {1 : 3 , 2 : 4 }
108
108
109
109
110
- # TODO:
111
- # def test_default_constructors(cs: cstruct, compiled: bool):
112
- # cdef = """
113
- # enum Enum {
114
- # a = 0,
115
- # b = 1
116
- # };
117
-
118
- # flag Flag {
119
- # a = 0,
120
- # b = 1
121
- # };
122
-
123
- # struct test {
124
- # uint32 t_int;
125
- # uint32 t_int_array[2];
126
- # uint24 t_bytesint;
127
- # uint24 t_bytesint_array[2];
128
- # char t_char;
129
- # char t_char_array[2];
130
- # wchar t_wchar;
131
- # wchar t_wchar_array[2];
132
- # Enum t_enum;
133
- # Enum t_enum_array[2];
134
- # Flag t_flag;
135
- # Flag t_flag_array[2];
136
- # };
137
- # """
138
- # cs.load(cdef, compiled=compiled)
139
-
140
- # assert verify_compiled(cs.test, compiled)
141
-
142
- # obj = cs.test()
143
- # assert obj.t_int == 0
144
- # assert obj.t_int_array == [0, 0]
145
- # assert obj.t_bytesint == 0
146
- # assert obj.t_bytesint_array == [0, 0]
147
- # assert obj.t_char == b"\x00"
148
- # assert obj.t_char_array == b"\x00\x00"
149
- # assert obj.t_wchar == "\x00"
150
- # assert obj.t_wchar_array == "\x00\x00"
151
- # assert obj.t_enum == cs.Enum(0)
152
- # assert obj.t_enum_array == [cs.Enum(0), cs.Enum(0)]
153
- # assert obj.t_flag == cs.Flag(0)
154
- # assert obj.t_flag_array == [cs.Flag(0), cs.Flag(0)]
155
-
156
- # assert obj.dumps() == b"\x00" * 54
157
-
158
-
159
- # TODO:
160
- # def test_default_constructors_dynamic(cs: cstruct, compiled: bool):
161
- # cdef = """
162
- # enum Enum {
163
- # a = 0,
164
- # b = 1
165
- # };
166
- # flag Flag {
167
- # a = 0,
168
- # b = 1
169
- # };
170
- # struct test {
171
- # uint8 x;
172
- # uint32 t_int_array_n[];
173
- # uint32 t_int_array_d[x];
174
- # uint24 t_bytesint_array_n[];
175
- # uint24 t_bytesint_array_d[x];
176
- # char t_char_array_n[];
177
- # char t_char_array_d[x];
178
- # wchar t_wchar_array_n[];
179
- # wchar t_wchar_array_d[x];
180
- # Enum t_enum_array_n[];
181
- # Enum t_enum_array_d[x];
182
- # Flag t_flag_array_n[];
183
- # Flag t_flag_array_d[x];
184
- # };
185
- # """
186
- # cs.load(cdef, compiled=compiled)
187
-
188
- # assert verify_compiled(cs.test, compiled)
189
-
190
- # obj = cs.test()
191
-
192
- # assert obj.t_int_array_n == obj.t_int_array_d == []
193
- # assert obj.t_bytesint_array_n == obj.t_bytesint_array_d == []
194
- # assert obj.t_char_array_n == obj.t_char_array_d == b""
195
- # assert obj.t_wchar_array_n == obj.t_wchar_array_d == ""
196
- # assert obj.t_enum_array_n == obj.t_enum_array_d == []
197
- # assert obj.t_flag_array_n == obj.t_flag_array_d == []
198
- # assert obj.dumps() == b"\x00" * 19
110
+ def test_default_constructors (cs : cstruct , compiled : bool ):
111
+ cdef = """
112
+ enum Enum {
113
+ a = 0,
114
+ b = 1
115
+ };
116
+
117
+ flag Flag {
118
+ a = 0,
119
+ b = 1
120
+ };
121
+
122
+ struct test {
123
+ uint32 t_int;
124
+ uint32 t_int_array[2];
125
+ uint24 t_bytesint;
126
+ uint24 t_bytesint_array[2];
127
+ char t_char;
128
+ char t_char_array[2];
129
+ wchar t_wchar;
130
+ wchar t_wchar_array[2];
131
+ Enum t_enum;
132
+ Enum t_enum_array[2];
133
+ Flag t_flag;
134
+ Flag t_flag_array[2];
135
+ };
136
+ """
137
+ cs .load (cdef , compiled = compiled )
138
+
139
+ assert verify_compiled (cs .test , compiled )
140
+
141
+ obj = cs .test ()
142
+ assert obj .t_int == 0
143
+ assert obj .t_int_array == [0 , 0 ]
144
+ assert obj .t_bytesint == 0
145
+ assert obj .t_bytesint_array == [0 , 0 ]
146
+ assert obj .t_char == b"\x00 "
147
+ assert obj .t_char_array == b"\x00 \x00 "
148
+ assert obj .t_wchar == "\x00 "
149
+ assert obj .t_wchar_array == "\x00 \x00 "
150
+ assert obj .t_enum == cs .Enum (0 )
151
+ assert obj .t_enum_array == [cs .Enum (0 ), cs .Enum (0 )]
152
+ assert obj .t_flag == cs .Flag (0 )
153
+ assert obj .t_flag_array == [cs .Flag (0 ), cs .Flag (0 )]
154
+
155
+ assert obj .dumps () == b"\x00 " * 54
156
+
157
+
158
+ def test_default_constructors_dynamic (cs : cstruct , compiled : bool ):
159
+ cdef = """
160
+ enum Enum {
161
+ a = 0,
162
+ b = 1
163
+ };
164
+ flag Flag {
165
+ a = 0,
166
+ b = 1
167
+ };
168
+ struct test {
169
+ uint8 x;
170
+ uint32 t_int_array_n[];
171
+ uint32 t_int_array_d[x];
172
+ uint24 t_bytesint_array_n[];
173
+ uint24 t_bytesint_array_d[x];
174
+ char t_char_array_n[];
175
+ char t_char_array_d[x];
176
+ wchar t_wchar_array_n[];
177
+ wchar t_wchar_array_d[x];
178
+ Enum t_enum_array_n[];
179
+ Enum t_enum_array_d[x];
180
+ Flag t_flag_array_n[];
181
+ Flag t_flag_array_d[x];
182
+ };
183
+ """
184
+ cs .load (cdef , compiled = compiled )
185
+
186
+ assert verify_compiled (cs .test , compiled )
187
+
188
+ obj = cs .test ()
189
+
190
+ assert obj .t_int_array_n == obj .t_int_array_d == []
191
+ assert obj .t_bytesint_array_n == obj .t_bytesint_array_d == []
192
+ assert obj .t_char_array_n == obj .t_char_array_d == b""
193
+ assert obj .t_wchar_array_n == obj .t_wchar_array_d == ""
194
+ assert obj .t_enum_array_n == obj .t_enum_array_d == []
195
+ assert obj .t_flag_array_n == obj .t_flag_array_d == []
196
+ assert obj .dumps () == b"\x00 " * 19
199
197
200
198
201
199
def test_config_flag_nocompile (cs : cstruct , compiled : bool ):
0 commit comments