soia-client 1.0.2__tar.gz → 1.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of soia-client might be problematic. Click here for more details.

Files changed (28) hide show
  1. {soia_client-1.0.2 → soia_client-1.0.3}/PKG-INFO +1 -1
  2. {soia_client-1.0.2 → soia_client-1.0.3}/pyproject.toml +1 -1
  3. {soia_client-1.0.2 → soia_client-1.0.3}/soia_client.egg-info/PKG-INFO +1 -1
  4. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/module_initializer.py +3 -3
  5. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/spec.py +0 -5
  6. {soia_client-1.0.2 → soia_client-1.0.3}/tests/test_module_initializer.py +248 -250
  7. {soia_client-1.0.2 → soia_client-1.0.3}/LICENSE +0 -0
  8. {soia_client-1.0.2 → soia_client-1.0.3}/README +0 -0
  9. {soia_client-1.0.2 → soia_client-1.0.3}/setup.cfg +0 -0
  10. {soia_client-1.0.2 → soia_client-1.0.3}/soia_client.egg-info/SOURCES.txt +0 -0
  11. {soia_client-1.0.2 → soia_client-1.0.3}/soia_client.egg-info/dependency_links.txt +0 -0
  12. {soia_client-1.0.2 → soia_client-1.0.3}/soia_client.egg-info/top_level.txt +0 -0
  13. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/__init__.py +0 -0
  14. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/__init__.py +0 -0
  15. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/arrays.py +0 -0
  16. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/encoding.py +0 -0
  17. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/enums.py +0 -0
  18. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/function_maker.py +0 -0
  19. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/optionals.py +0 -0
  20. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/primitives.py +0 -0
  21. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/repr.py +0 -0
  22. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/structs.py +0 -0
  23. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/impl/type_adapter.py +0 -0
  24. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/keyed_items.py +0 -0
  25. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/never.py +0 -0
  26. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/serializer.py +0 -0
  27. {soia_client-1.0.2 → soia_client-1.0.3}/soialib/timestamp.py +0 -0
  28. {soia_client-1.0.2 → soia_client-1.0.3}/tests/test_timestamp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: soia-client
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Author-email: Tyler Fibonacci <gepheum@gmail.com>
5
5
  License: MIT License
6
6
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "soia-client"
7
- version = "1.0.2"
7
+ version = "1.0.3"
8
8
  description = ""
9
9
  readme = "README.md"
10
10
  authors = [{ name = "Tyler Fibonacci", email = "gepheum@gmail.com" }]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: soia-client
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Author-email: Tyler Fibonacci <gepheum@gmail.com>
5
5
  License: MIT License
6
6
 
@@ -11,8 +11,8 @@ RecordAdapter = Union[structs.StructAdapter, enums.EnumAdapter]
11
11
  _record_id_to_adapter: dict[str, RecordAdapter] = {}
12
12
 
13
13
 
14
- def init_module(
15
- module: spec.Module,
14
+ def init_module_classes(
15
+ records: tuple[spec.Record, ...],
16
16
  globals: dict[str, Any],
17
17
  # For testing
18
18
  record_id_to_adapter: dict[str, RecordAdapter] = _record_id_to_adapter,
@@ -49,7 +49,7 @@ def init_module(
49
49
  return record_id_to_adapter[type]
50
50
 
51
51
  module_adapters: list[RecordAdapter] = []
52
- for record in module.records:
52
+ for record in records:
53
53
  if record.id in record_id_to_adapter:
54
54
  raise AssertionError(record.id)
55
55
  adapter: RecordAdapter
@@ -106,11 +106,6 @@ class Enum:
106
106
  Record = Union[Struct, Enum]
107
107
 
108
108
 
109
- @dataclass(frozen=True)
110
- class Module:
111
- records: tuple[Record, ...] = ()
112
-
113
-
114
109
  @dataclass(frozen=True)
115
110
  class RecordId:
116
111
  record_id: str
@@ -5,258 +5,256 @@ from typing import Any
5
5
 
6
6
  from soialib import spec
7
7
  from soialib.keyed_items import KeyedItems
8
- from soialib.module_initializer import init_module
8
+ from soialib.module_initializer import init_module_classes
9
9
  from soialib.timestamp import Timestamp
10
10
 
11
11
 
12
12
  class ModuleInitializerTestCase(unittest.TestCase):
13
- def init_test_module(self) -> dict[str, Any]:
13
+ def init_test_module_classes(self) -> dict[str, Any]:
14
14
  globals: dict[str, Any] = {}
15
- init_module(
16
- spec.Module(
17
- records=(
18
- spec.Struct(
19
- id="my/module.soia:Point",
20
- fields=(
21
- spec.Field(
22
- name="x",
23
- number=0,
24
- type=spec.PrimitiveType.FLOAT32,
25
- ),
26
- spec.Field(
27
- name="y",
28
- number=1,
29
- type=spec.PrimitiveType.FLOAT32,
30
- ),
15
+ init_module_classes(
16
+ (
17
+ spec.Struct(
18
+ id="my/module.soia:Point",
19
+ fields=(
20
+ spec.Field(
21
+ name="x",
22
+ number=0,
23
+ type=spec.PrimitiveType.FLOAT32,
31
24
  ),
32
- ),
33
- spec.Struct(
34
- id="my/module.soia:Segment",
35
- fields=(
36
- spec.Field(
37
- name="a",
38
- number=0,
39
- type="my/module.soia:Point",
40
- has_mutable_getter=True,
41
- ),
42
- spec.Field(
43
- name="bb",
44
- _attribute="b",
45
- number=1,
46
- type="my/module.soia:Point",
47
- has_mutable_getter=True,
48
- ),
49
- spec.Field(
50
- name="c",
51
- number=2,
52
- type=spec.OptionalType("my/module.soia:Point"),
53
- has_mutable_getter=True,
54
- ),
25
+ spec.Field(
26
+ name="y",
27
+ number=1,
28
+ type=spec.PrimitiveType.FLOAT32,
55
29
  ),
56
30
  ),
57
- spec.Struct(
58
- id="my/module.soia:Shape",
59
- fields=(
60
- spec.Field(
61
- name="points",
62
- number=0,
63
- type=spec.ArrayType("my/module.soia:Point"),
64
- has_mutable_getter=True,
65
- ),
31
+ ),
32
+ spec.Struct(
33
+ id="my/module.soia:Segment",
34
+ fields=(
35
+ spec.Field(
36
+ name="a",
37
+ number=0,
38
+ type="my/module.soia:Point",
39
+ has_mutable_getter=True,
40
+ ),
41
+ spec.Field(
42
+ name="bb",
43
+ _attribute="b",
44
+ number=1,
45
+ type="my/module.soia:Point",
46
+ has_mutable_getter=True,
47
+ ),
48
+ spec.Field(
49
+ name="c",
50
+ number=2,
51
+ type=spec.OptionalType("my/module.soia:Point"),
52
+ has_mutable_getter=True,
66
53
  ),
67
54
  ),
68
- spec.Struct(
69
- id="my/module.soia:Primitives",
70
- fields=(
71
- spec.Field(
72
- name="bool",
73
- number=0,
74
- type=spec.PrimitiveType.BOOL,
75
- ),
76
- spec.Field(
77
- name="bytes",
78
- number=1,
79
- type=spec.PrimitiveType.BYTES,
80
- ),
81
- spec.Field(
82
- name="f32",
83
- number=2,
84
- type=spec.PrimitiveType.FLOAT32,
85
- ),
86
- spec.Field(
87
- name="f64",
88
- number=3,
89
- type=spec.PrimitiveType.FLOAT64,
90
- ),
91
- spec.Field(
92
- name="i32",
93
- number=4,
94
- type=spec.PrimitiveType.INT32,
95
- ),
96
- spec.Field(
97
- name="i64",
98
- number=5,
99
- type=spec.PrimitiveType.INT32,
100
- ),
101
- spec.Field(
102
- name="u64",
103
- number=6,
104
- type=spec.PrimitiveType.INT32,
105
- ),
106
- spec.Field(
107
- name="s",
108
- number=7,
109
- type=spec.PrimitiveType.STRING,
110
- ),
111
- spec.Field(
112
- name="t",
113
- number=8,
114
- type=spec.PrimitiveType.TIMESTAMP,
115
- ),
55
+ ),
56
+ spec.Struct(
57
+ id="my/module.soia:Shape",
58
+ fields=(
59
+ spec.Field(
60
+ name="points",
61
+ number=0,
62
+ type=spec.ArrayType("my/module.soia:Point"),
63
+ has_mutable_getter=True,
116
64
  ),
117
65
  ),
118
- spec.Enum(
119
- id="my/module.soia:PrimaryColor",
120
- constant_fields=(
121
- spec.ConstantField(
122
- name="RED",
123
- number=10,
124
- ),
125
- spec.ConstantField(
126
- name="GREEN",
127
- number=20,
128
- ),
129
- spec.ConstantField(
130
- name="BLUE",
131
- number=30,
132
- ),
66
+ ),
67
+ spec.Struct(
68
+ id="my/module.soia:Primitives",
69
+ fields=(
70
+ spec.Field(
71
+ name="bool",
72
+ number=0,
73
+ type=spec.PrimitiveType.BOOL,
74
+ ),
75
+ spec.Field(
76
+ name="bytes",
77
+ number=1,
78
+ type=spec.PrimitiveType.BYTES,
79
+ ),
80
+ spec.Field(
81
+ name="f32",
82
+ number=2,
83
+ type=spec.PrimitiveType.FLOAT32,
84
+ ),
85
+ spec.Field(
86
+ name="f64",
87
+ number=3,
88
+ type=spec.PrimitiveType.FLOAT64,
89
+ ),
90
+ spec.Field(
91
+ name="i32",
92
+ number=4,
93
+ type=spec.PrimitiveType.INT32,
94
+ ),
95
+ spec.Field(
96
+ name="i64",
97
+ number=5,
98
+ type=spec.PrimitiveType.INT32,
99
+ ),
100
+ spec.Field(
101
+ name="u64",
102
+ number=6,
103
+ type=spec.PrimitiveType.INT32,
104
+ ),
105
+ spec.Field(
106
+ name="s",
107
+ number=7,
108
+ type=spec.PrimitiveType.STRING,
109
+ ),
110
+ spec.Field(
111
+ name="t",
112
+ number=8,
113
+ type=spec.PrimitiveType.TIMESTAMP,
133
114
  ),
134
115
  ),
135
- spec.Enum(
136
- id="my/module.soia:Status",
137
- constant_fields=(
138
- spec.ConstantField(
139
- name="OK",
140
- number=0,
141
- ),
116
+ ),
117
+ spec.Enum(
118
+ id="my/module.soia:PrimaryColor",
119
+ constant_fields=(
120
+ spec.ConstantField(
121
+ name="RED",
122
+ number=10,
142
123
  ),
143
- value_fields=(
144
- spec.ValueField(
145
- name="error",
146
- number=2,
147
- type=spec.PrimitiveType.STRING,
148
- ),
124
+ spec.ConstantField(
125
+ name="GREEN",
126
+ number=20,
127
+ ),
128
+ spec.ConstantField(
129
+ name="BLUE",
130
+ number=30,
149
131
  ),
150
- removed_numbers=(1, 4),
151
132
  ),
152
- spec.Enum(
153
- id="my/module.soia:JsonValue",
154
- constant_fields=(
155
- spec.ConstantField(
156
- name="NULL",
157
- number=0,
158
- ),
133
+ ),
134
+ spec.Enum(
135
+ id="my/module.soia:Status",
136
+ constant_fields=(
137
+ spec.ConstantField(
138
+ name="OK",
139
+ number=0,
159
140
  ),
160
- value_fields=(
161
- spec.ValueField(
162
- name="bool",
163
- number=1,
164
- type=spec.PrimitiveType.BOOL,
165
- ),
166
- spec.ValueField(
167
- name="number",
168
- number=2,
169
- type=spec.PrimitiveType.FLOAT64,
170
- ),
171
- spec.ValueField(
172
- name="string",
173
- number=3,
174
- type=spec.PrimitiveType.STRING,
175
- ),
176
- spec.ValueField(
177
- name="array",
178
- number=4,
179
- type=spec.ArrayType("my/module.soia:JsonValue"),
180
- ),
181
- spec.ValueField(
182
- name="object",
183
- number=5,
184
- type="my/module.soia:JsonValue.Object",
185
- ),
141
+ ),
142
+ value_fields=(
143
+ spec.ValueField(
144
+ name="error",
145
+ number=2,
146
+ type=spec.PrimitiveType.STRING,
186
147
  ),
187
148
  ),
188
- spec.Struct(
189
- id="my/module.soia:JsonValue.Object",
190
- fields=(
191
- spec.Field(
192
- name="entries",
193
- number=0,
194
- type=spec.ArrayType(
195
- item="my/module.soia:JsonValue.ObjectEntry",
196
- key_attributes=("name",),
197
- ),
198
- ),
149
+ removed_numbers=(1, 4),
150
+ ),
151
+ spec.Enum(
152
+ id="my/module.soia:JsonValue",
153
+ constant_fields=(
154
+ spec.ConstantField(
155
+ name="NULL",
156
+ number=0,
199
157
  ),
200
158
  ),
201
- spec.Struct(
202
- id="my/module.soia:JsonValue.ObjectEntry",
203
- fields=(
204
- spec.Field(
205
- name="name",
206
- number=0,
207
- type=spec.PrimitiveType.STRING,
208
- ),
209
- spec.Field(
210
- name="value",
211
- number=1,
212
- type="my/module.soia:JsonValue",
213
- ),
159
+ value_fields=(
160
+ spec.ValueField(
161
+ name="bool",
162
+ number=1,
163
+ type=spec.PrimitiveType.BOOL,
164
+ ),
165
+ spec.ValueField(
166
+ name="number",
167
+ number=2,
168
+ type=spec.PrimitiveType.FLOAT64,
169
+ ),
170
+ spec.ValueField(
171
+ name="string",
172
+ number=3,
173
+ type=spec.PrimitiveType.STRING,
174
+ ),
175
+ spec.ValueField(
176
+ name="array",
177
+ number=4,
178
+ type=spec.ArrayType("my/module.soia:JsonValue"),
179
+ ),
180
+ spec.ValueField(
181
+ name="object",
182
+ number=5,
183
+ type="my/module.soia:JsonValue.Object",
214
184
  ),
215
185
  ),
216
- spec.Struct(
217
- id="my/module.soia:Parent",
218
- fields=(),
186
+ ),
187
+ spec.Struct(
188
+ id="my/module.soia:JsonValue.Object",
189
+ fields=(
190
+ spec.Field(
191
+ name="entries",
192
+ number=0,
193
+ type=spec.ArrayType(
194
+ item="my/module.soia:JsonValue.ObjectEntry",
195
+ key_attributes=("name",),
196
+ ),
197
+ ),
219
198
  ),
220
- spec.Enum(
221
- id="my/module.soia:Parent.NestedEnum",
199
+ ),
200
+ spec.Struct(
201
+ id="my/module.soia:JsonValue.ObjectEntry",
202
+ fields=(
203
+ spec.Field(
204
+ name="name",
205
+ number=0,
206
+ type=spec.PrimitiveType.STRING,
207
+ ),
208
+ spec.Field(
209
+ name="value",
210
+ number=1,
211
+ type="my/module.soia:JsonValue",
212
+ ),
222
213
  ),
223
- spec.Struct(
224
- id="my/module.soia:Stuff",
225
- fields=(
226
- spec.Field(
227
- name="enum_wrappers",
228
- number=0,
229
- type=spec.ArrayType(
230
- item="my/module.soia:EnumWrapper",
231
- key_attributes=(
232
- "status",
233
- "kind",
234
- ),
214
+ ),
215
+ spec.Struct(
216
+ id="my/module.soia:Parent",
217
+ fields=(),
218
+ ),
219
+ spec.Enum(
220
+ id="my/module.soia:Parent.NestedEnum",
221
+ ),
222
+ spec.Struct(
223
+ id="my/module.soia:Stuff",
224
+ fields=(
225
+ spec.Field(
226
+ name="enum_wrappers",
227
+ number=0,
228
+ type=spec.ArrayType(
229
+ item="my/module.soia:EnumWrapper",
230
+ key_attributes=(
231
+ "status",
232
+ "kind",
235
233
  ),
236
234
  ),
237
235
  ),
238
236
  ),
239
- spec.Struct(
240
- id="my/module.soia:EnumWrapper",
241
- fields=(
242
- spec.Field(
243
- name="status",
244
- number=0,
245
- type="my/module.soia:Status",
246
- ),
237
+ ),
238
+ spec.Struct(
239
+ id="my/module.soia:EnumWrapper",
240
+ fields=(
241
+ spec.Field(
242
+ name="status",
243
+ number=0,
244
+ type="my/module.soia:Status",
247
245
  ),
248
246
  ),
249
- spec.Struct(
250
- id="my/module.soia:Stuff.Overrides",
251
- _class_name="NameOverrides",
252
- _class_qualname="Stuff.NameOverrides",
253
- fields=(
254
- spec.Field(
255
- name="x",
256
- _attribute="y",
257
- number=0,
258
- type=spec.PrimitiveType.INT32,
259
- ),
247
+ ),
248
+ spec.Struct(
249
+ id="my/module.soia:Stuff.Overrides",
250
+ _class_name="NameOverrides",
251
+ _class_qualname="Stuff.NameOverrides",
252
+ fields=(
253
+ spec.Field(
254
+ name="x",
255
+ _attribute="y",
256
+ number=0,
257
+ type=spec.PrimitiveType.INT32,
260
258
  ),
261
259
  ),
262
260
  ),
@@ -267,13 +265,13 @@ class ModuleInitializerTestCase(unittest.TestCase):
267
265
  return globals
268
266
 
269
267
  def test_struct_getters(self):
270
- point_cls = self.init_test_module()["Point"]
268
+ point_cls = self.init_test_module_classes()["Point"]
271
269
  point = point_cls(x=1.5, y=2.5)
272
270
  self.assertEqual(point.x, 1.5)
273
271
  self.assertEqual(point.y, 2.5)
274
272
 
275
273
  def test_to_mutable(self):
276
- point_cls = self.init_test_module()["Point"]
274
+ point_cls = self.init_test_module_classes()["Point"]
277
275
  point = point_cls(x=1.5, y=2.5)
278
276
  mutable = point.to_mutable()
279
277
  mutable.x = 4.0
@@ -283,7 +281,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
283
281
  self.assertIs(point.to_frozen(), point)
284
282
 
285
283
  def test_struct_eq(self):
286
- point_cls = self.init_test_module()["Point"]
284
+ point_cls = self.init_test_module_classes()["Point"]
287
285
  a = point_cls(x=1.5, y=2.5)
288
286
  b = point_cls(x=1.5, y=2.5)
289
287
  c = point_cls(x=1.5, y=3.0)
@@ -294,11 +292,11 @@ class ModuleInitializerTestCase(unittest.TestCase):
294
292
  self.assertEqual(point_cls(), point_cls(x=0.0, y=0.0))
295
293
 
296
294
  def test_or_mutable(self):
297
- point_cls = self.init_test_module()["Point"]
295
+ point_cls = self.init_test_module_classes()["Point"]
298
296
  point_cls.OrMutable
299
297
 
300
298
  def test_default_values(self):
301
- primitives_cls = self.init_test_module()["Primitives"]
299
+ primitives_cls = self.init_test_module_classes()["Primitives"]
302
300
  a = primitives_cls(
303
301
  bool=False,
304
302
  bytes=b"",
@@ -313,29 +311,29 @@ class ModuleInitializerTestCase(unittest.TestCase):
313
311
  self.assertEqual(hash(a), hash(b))
314
312
 
315
313
  def test_to_dense_json(self):
316
- point_cls = self.init_test_module()["Point"]
314
+ point_cls = self.init_test_module_classes()["Point"]
317
315
  point = point_cls(x=1.5, y=2.5)
318
316
  json = point_cls.SERIALIZER.to_json(point)
319
317
  self.assertEqual(json, [1.5, 2.5])
320
318
 
321
319
  def test_to_readable_json(self):
322
- point_cls = self.init_test_module()["Point"]
320
+ point_cls = self.init_test_module_classes()["Point"]
323
321
  point = point_cls(x=1.5, y=2.5)
324
322
  json = point_cls.SERIALIZER.to_json(point, readable_flavor=True)
325
323
  self.assertEqual(json, {"x": 1.5, "y": 2.5})
326
324
 
327
325
  def test_from_dense_json(self):
328
- point_cls = self.init_test_module()["Point"]
326
+ point_cls = self.init_test_module_classes()["Point"]
329
327
  point = point_cls.SERIALIZER.from_json([1.5, 2.5])
330
328
  self.assertEqual(point, point_cls(x=1.5, y=2.5))
331
329
 
332
330
  def test_from_readable_json(self):
333
- point_cls = self.init_test_module()["Point"]
331
+ point_cls = self.init_test_module_classes()["Point"]
334
332
  point = point_cls.SERIALIZER.from_json({"x": 1.5, "y": 2.5})
335
333
  self.assertEqual(point, point_cls(x=1.5, y=2.5))
336
334
 
337
335
  def test_struct_ctor_accepts_mutable_struct(self):
338
- module = self.init_test_module()
336
+ module = self.init_test_module_classes()
339
337
  segment_cls = module["Segment"]
340
338
  point_cls = module["Point"]
341
339
  segment = segment_cls(
@@ -352,7 +350,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
352
350
  )
353
351
 
354
352
  def test_struct_ctor_checks_type_of_struct_param(self):
355
- module = self.init_test_module()
353
+ module = self.init_test_module_classes()
356
354
  segment_cls = module["Segment"]
357
355
  try:
358
356
  segment_cls(
@@ -364,11 +362,11 @@ class ModuleInitializerTestCase(unittest.TestCase):
364
362
  self.assertIn("Point", str(e))
365
363
 
366
364
  def test_struct_ctor_raises_error_if_unknown_arg(self):
367
- module = self.init_test_module()
365
+ module = self.init_test_module_classes()
368
366
  segment_cls = module["Segment"]
369
367
 
370
368
  def test_to_frozen_checks_type_of_struct_field(self):
371
- module = self.init_test_module()
369
+ module = self.init_test_module_classes()
372
370
  segment_cls = module["Segment"]
373
371
  mutable = segment_cls.Mutable()
374
372
  mutable.a = segment_cls.DEFAULT # Should be a Point
@@ -379,7 +377,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
379
377
  self.assertIn("Point", str(e))
380
378
 
381
379
  def test_struct_ctor_accepts_mutable_list(self):
382
- module = self.init_test_module()
380
+ module = self.init_test_module_classes()
383
381
  shape_cls = module["Shape"]
384
382
  point_cls = module["Point"]
385
383
  shape = shape_cls(
@@ -399,7 +397,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
399
397
  )
400
398
 
401
399
  def test_listuple_not_copied(self):
402
- module = self.init_test_module()
400
+ module = self.init_test_module_classes()
403
401
  shape_cls = module["Shape"]
404
402
  point_cls = module["Point"]
405
403
  shape = shape_cls(
@@ -414,7 +412,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
414
412
  self.assertIsNot(other_shape.points.__class__, tuple)
415
413
 
416
414
  def test_single_empty_listuple_instance(self):
417
- module = self.init_test_module()
415
+ module = self.init_test_module_classes()
418
416
  shape_cls = module["Shape"]
419
417
  shape = shape_cls(
420
418
  points=[],
@@ -424,7 +422,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
424
422
  self.assertIsNot(shape.points, ())
425
423
 
426
424
  def test_optional(self):
427
- module = self.init_test_module()
425
+ module = self.init_test_module_classes()
428
426
  segment_cls = module["Segment"]
429
427
  point_cls = module["Point"]
430
428
  segment = segment_cls(
@@ -439,7 +437,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
439
437
  )
440
438
 
441
439
  def test_enum_unknown_constant(self):
442
- module = self.init_test_module()
440
+ module = self.init_test_module_classes()
443
441
  primary_color_cls = module["PrimaryColor"]
444
442
  unknown = primary_color_cls.UNKNOWN
445
443
  self.assertEqual(unknown.kind, "?")
@@ -450,7 +448,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
450
448
  self.assertEqual(serializer.to_json(unknown, readable_flavor=True), "?")
451
449
 
452
450
  def test_enum_user_defined_constant(self):
453
- module = self.init_test_module()
451
+ module = self.init_test_module_classes()
454
452
  primary_color_cls = module["PrimaryColor"]
455
453
  red = primary_color_cls.RED
456
454
  self.assertEqual(red.kind, "RED")
@@ -461,7 +459,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
461
459
  self.assertEqual(serializer.to_json(red, readable_flavor=True), "RED")
462
460
 
463
461
  def test_enum_wrap(self):
464
- module = self.init_test_module()
462
+ module = self.init_test_module_classes()
465
463
  status_cls = module["Status"]
466
464
  error = status_cls.wrap_error("An error occurred")
467
465
  self.assertEqual(error.kind, "error")
@@ -475,7 +473,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
475
473
  )
476
474
 
477
475
  def test_enum_wrap_around_mutable_struct(self):
478
- module = self.init_test_module()
476
+ module = self.init_test_module_classes()
479
477
  json_value_cls = module["JsonValue"]
480
478
  json_object_cls = json_value_cls.Object
481
479
  json_object = json_value_cls.wrap_object(json_object_cls().to_mutable())
@@ -486,7 +484,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
486
484
  )
487
485
 
488
486
  def test_class_name(self):
489
- module = self.init_test_module()
487
+ module = self.init_test_module_classes()
490
488
  shape_cls = module["Shape"]
491
489
  json_value_cls = module["JsonValue"]
492
490
  json_object_cls = json_value_cls.Object
@@ -498,7 +496,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
498
496
  self.assertEqual(json_object_cls.__qualname__, "JsonValue.Object")
499
497
 
500
498
  def test_struct_repr(self):
501
- module = self.init_test_module()
499
+ module = self.init_test_module_classes()
502
500
  point_cls = module["Point"]
503
501
  self.assertEqual(
504
502
  repr(point_cls(x=1.5)),
@@ -611,7 +609,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
611
609
  )
612
610
 
613
611
  def test_enum_constant_repr(self):
614
- module = self.init_test_module()
612
+ module = self.init_test_module_classes()
615
613
  primary_color_cls = module["PrimaryColor"]
616
614
  parent_cls = module["Parent"]
617
615
  nested_enum_cls = parent_cls.NestedEnum
@@ -620,7 +618,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
620
618
  self.assertEqual(repr(nested_enum_cls.UNKNOWN), "Parent.NestedEnum.UNKNOWN")
621
619
 
622
620
  def test_enum_value_repr(self):
623
- module = self.init_test_module()
621
+ module = self.init_test_module_classes()
624
622
  status_cls = module["Status"]
625
623
  json_value_cls = module["JsonValue"]
626
624
  json_object_cls = json_value_cls.Object
@@ -658,7 +656,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
658
656
  )
659
657
 
660
658
  def test_find_in_keyed_items(self):
661
- json_value_cls = self.init_test_module()["JsonValue"]
659
+ json_value_cls = self.init_test_module_classes()["JsonValue"]
662
660
  object_cls = json_value_cls.Object
663
661
  entry_cls = json_value_cls.ObjectEntry
664
662
  json_object = object_cls(
@@ -690,7 +688,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
690
688
  self.assertIs(entries.find_or_default("zoo"), entry_cls.DEFAULT)
691
689
 
692
690
  def test_find_in_keyed_items_with_complex_path(self):
693
- module = self.init_test_module()
691
+ module = self.init_test_module_classes()
694
692
  stuff_cls = module["Stuff"]
695
693
  enum_wrapper_cls = module["EnumWrapper"]
696
694
  status_cls = module["Status"]
@@ -716,14 +714,14 @@ class ModuleInitializerTestCase(unittest.TestCase):
716
714
  self.assertIs(enum_wrappers.find("error"), enum_wrappers[1])
717
715
 
718
716
  def test_name_overrides(self):
719
- name_overrides_cls = self.init_test_module()["Stuff"].NameOverrides
717
+ name_overrides_cls = self.init_test_module_classes()["Stuff"].NameOverrides
720
718
  name_overrides = name_overrides_cls(y=3)
721
719
  self.assertEqual(name_overrides.y, 3)
722
720
  self.assertEqual(name_overrides_cls.__name__, "NameOverrides")
723
721
  self.assertEqual(name_overrides_cls.__qualname__, "Stuff.NameOverrides")
724
722
 
725
723
  def test_mutable_getter_of_struct(self):
726
- module = self.init_test_module()
724
+ module = self.init_test_module_classes()
727
725
  segment_cls = module["Segment"]
728
726
  point_cls = module["Point"]
729
727
  segment = segment_cls(
@@ -741,7 +739,7 @@ class ModuleInitializerTestCase(unittest.TestCase):
741
739
  self.assertEqual(str(e), "expected: Point or Point.Mutable; found: str")
742
740
 
743
741
  def test_mutable_getter_of_array(self):
744
- module = self.init_test_module()
742
+ module = self.init_test_module_classes()
745
743
  shape_cls = module["Shape"]
746
744
  point_cls = module["Point"]
747
745
  shape = shape_cls(
File without changes
File without changes
File without changes