orionis 0.546.0__py3-none-any.whl → 0.548.0__py3-none-any.whl

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.
Files changed (160) hide show
  1. orionis/console/base/scheduler_event_listener.py +0 -17
  2. orionis/console/contracts/schedule_event_listener.py +0 -18
  3. orionis/foundation/config/app/entities/app.py +3 -2
  4. orionis/foundation/config/app/enums/ciphers.py +5 -19
  5. orionis/foundation/config/session/entities/session.py +2 -2
  6. orionis/metadata/framework.py +1 -1
  7. orionis/services/encrypter/encrypter.py +115 -0
  8. orionis/services/environment/dynamic/caster.py +35 -27
  9. orionis/services/environment/key/key_generator.py +32 -11
  10. {orionis-0.546.0.dist-info → orionis-0.548.0.dist-info}/METADATA +1 -1
  11. {orionis-0.546.0.dist-info → orionis-0.548.0.dist-info}/RECORD +14 -159
  12. {orionis-0.546.0.dist-info → orionis-0.548.0.dist-info}/top_level.txt +0 -1
  13. orionis-0.546.0.dist-info/zip-safe +0 -1
  14. tests/container/__init__.py +0 -0
  15. tests/container/context/__init__.py +0 -0
  16. tests/container/context/test_manager.py +0 -38
  17. tests/container/context/test_scope.py +0 -32
  18. tests/container/core/__init__.py +0 -0
  19. tests/container/core/test_advanced_async.py +0 -234
  20. tests/container/core/test_async_optimizations.py +0 -268
  21. tests/container/core/test_container.py +0 -453
  22. tests/container/core/test_singleton.py +0 -122
  23. tests/container/core/test_thread_safety.py +0 -90
  24. tests/container/entities/__init__.py +0 -0
  25. tests/container/entities/test_binding.py +0 -242
  26. tests/container/enums/__init__.py +0 -0
  27. tests/container/enums/test_lifetimes.py +0 -97
  28. tests/container/facades/__init__.py +0 -0
  29. tests/container/facades/test_facade.py +0 -78
  30. tests/container/mocks/__init__.py +0 -0
  31. tests/container/mocks/mock_advanced_async.py +0 -332
  32. tests/container/mocks/mock_async_optimizations.py +0 -407
  33. tests/container/mocks/mock_auto_resolution.py +0 -192
  34. tests/container/mocks/mock_complex_classes.py +0 -792
  35. tests/container/mocks/mock_simple_classes.py +0 -98
  36. tests/container/providers/__init__.py +0 -0
  37. tests/container/providers/test_providers.py +0 -55
  38. tests/container/validators/__init__.py +0 -0
  39. tests/container/validators/test_implements.py +0 -186
  40. tests/container/validators/test_is_abstract_class.py +0 -147
  41. tests/container/validators/test_is_callable.py +0 -102
  42. tests/container/validators/test_is_concrete_class.py +0 -160
  43. tests/container/validators/test_is_instance.py +0 -150
  44. tests/container/validators/test_is_not_subclass.py +0 -49
  45. tests/container/validators/test_is_subclass.py +0 -178
  46. tests/container/validators/test_is_valid_alias.py +0 -147
  47. tests/container/validators/test_lifetime.py +0 -106
  48. tests/example/__init__.py +0 -0
  49. tests/example/test_example.py +0 -725
  50. tests/foundation/__init__.py +0 -0
  51. tests/foundation/config/__init__.py +0 -0
  52. tests/foundation/config/app/__init__.py +0 -0
  53. tests/foundation/config/app/test_foundation_config_app.py +0 -262
  54. tests/foundation/config/auth/__init__.py +0 -0
  55. tests/foundation/config/auth/test_foundation_config_auth.py +0 -29
  56. tests/foundation/config/cache/__init__.py +0 -0
  57. tests/foundation/config/cache/test_foundation_config_cache.py +0 -143
  58. tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -126
  59. tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -156
  60. tests/foundation/config/cors/__init__.py +0 -0
  61. tests/foundation/config/cors/test_foundation_config_cors.py +0 -190
  62. tests/foundation/config/database/__init__.py +0 -0
  63. tests/foundation/config/database/test_foundation_config_database.py +0 -158
  64. tests/foundation/config/database/test_foundation_config_database_connections.py +0 -203
  65. tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -354
  66. tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -288
  67. tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -257
  68. tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -207
  69. tests/foundation/config/filesystems/__init__.py +0 -0
  70. tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -160
  71. tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -189
  72. tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -184
  73. tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -143
  74. tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -184
  75. tests/foundation/config/logging/__init__.py +0 -0
  76. tests/foundation/config/logging/test_foundation_config_logging.py +0 -112
  77. tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -246
  78. tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -217
  79. tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -220
  80. tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -196
  81. tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -214
  82. tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -178
  83. tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -224
  84. tests/foundation/config/mail/__init__.py +0 -0
  85. tests/foundation/config/mail/test_foundation_config_mail.py +0 -145
  86. tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -97
  87. tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -106
  88. tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -146
  89. tests/foundation/config/queue/__init__.py +0 -0
  90. tests/foundation/config/queue/test_foundation_config_queue.py +0 -88
  91. tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -72
  92. tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -134
  93. tests/foundation/config/root/__init__.py +0 -0
  94. tests/foundation/config/root/test_foundation_config_root_paths.py +0 -112
  95. tests/foundation/config/session/__init__.py +0 -0
  96. tests/foundation/config/session/test_foundation_config_session.py +0 -213
  97. tests/foundation/config/startup/__init__.py +0 -0
  98. tests/foundation/config/startup/test_foundation_config_startup.py +0 -202
  99. tests/foundation/config/testing/__init__.py +0 -0
  100. tests/foundation/config/testing/test_foundation_config_testing.py +0 -235
  101. tests/metadata/__init__.py +0 -0
  102. tests/metadata/test_metadata_framework.py +0 -140
  103. tests/metadata/test_metadata_package.py +0 -139
  104. tests/services/__init__.py +0 -0
  105. tests/services/asynchrony/__init__.py +0 -0
  106. tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -85
  107. tests/services/environment/__init__.py +0 -0
  108. tests/services/environment/test_services_environment.py +0 -226
  109. tests/services/introspection/__init__.py +0 -0
  110. tests/services/introspection/dependencies/__init__.py +0 -0
  111. tests/services/introspection/dependencies/mocks/__init__.py +0 -0
  112. tests/services/introspection/dependencies/mocks/mock_user.py +0 -30
  113. tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -27
  114. tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -41
  115. tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -261
  116. tests/services/introspection/reflection/__init__.py +0 -0
  117. tests/services/introspection/reflection/mock/__init__.py +0 -0
  118. tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -1115
  119. tests/services/introspection/reflection/test_reflection_abstract.py +0 -1011
  120. tests/services/introspection/reflection/test_reflection_callable.py +0 -206
  121. tests/services/introspection/reflection/test_reflection_concrete.py +0 -952
  122. tests/services/introspection/reflection/test_reflection_instance.py +0 -1233
  123. tests/services/introspection/reflection/test_reflection_module.py +0 -567
  124. tests/services/introspection/test_reflection.py +0 -462
  125. tests/services/log/__init__.py +0 -0
  126. tests/services/log/test_log.py +0 -97
  127. tests/services/system/__init__.py +0 -0
  128. tests/services/system/test_services_system_imports.py +0 -204
  129. tests/services/system/test_services_system_workers.py +0 -131
  130. tests/support/__init__.py +0 -0
  131. tests/support/entities/__init__.py +0 -0
  132. tests/support/entities/mock_dataclass.py +0 -40
  133. tests/support/entities/test_base.py +0 -64
  134. tests/support/patterns/__init__.py +0 -0
  135. tests/support/patterns/singleton/__init__.py +0 -0
  136. tests/support/patterns/singleton/test_patterns_singleton.py +0 -39
  137. tests/support/standard/__init__.py +0 -0
  138. tests/support/standard/test_services_std.py +0 -226
  139. tests/support/wrapper/__init__.py +0 -0
  140. tests/support/wrapper/test_services_wrapper_docdict.py +0 -202
  141. tests/testing/__init__.py +0 -0
  142. tests/testing/cases/__init__.py +0 -0
  143. tests/testing/cases/test_testing_asynchronous.py +0 -63
  144. tests/testing/cases/test_testing_synchronous.py +0 -57
  145. tests/testing/entities/__init__.py +0 -0
  146. tests/testing/entities/test_testing_result.py +0 -146
  147. tests/testing/enums/__init__.py +0 -0
  148. tests/testing/enums/test_testing_status.py +0 -63
  149. tests/testing/output/__init__.py +0 -0
  150. tests/testing/output/test_testing_dumper.py +0 -29
  151. tests/testing/output/test_testing_printer.py +0 -42
  152. tests/testing/records/__init__.py +0 -0
  153. tests/testing/records/test_testing_records.py +0 -171
  154. tests/testing/test_testing_unit.py +0 -164
  155. tests/testing/validators/__init__.py +0 -0
  156. tests/testing/validators/test_testing_validators.py +0 -392
  157. tests/testing/view/__init__.py +0 -0
  158. tests/testing/view/test_render.py +0 -30
  159. {orionis-0.546.0.dist-info → orionis-0.548.0.dist-info}/WHEEL +0 -0
  160. {orionis-0.546.0.dist-info → orionis-0.548.0.dist-info}/licenses/LICENCE +0 -0
@@ -1,1115 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- import asyncio
3
-
4
- PUBLIC_CONSTANT = "public constant"
5
- _PROTECTED_CONSTANT = "protected constant"
6
- __PRIVATE_CONSTANT = "private constant"
7
-
8
- def publicSyncFunction(x: int, y: int) -> int:
9
- """
10
- Adds two integers synchronously.
11
-
12
- Parameters
13
- ----------
14
- x : int
15
- The first integer.
16
- y : int
17
- The second integer.
18
-
19
- Returns
20
- -------
21
- int
22
- The sum of `x` and `y`.
23
- """
24
- return x + y
25
-
26
- async def publicAsyncFunction(x: int, y: int) -> int:
27
- """
28
- Adds two integers asynchronously.
29
-
30
- Parameters
31
- ----------
32
- x : int
33
- The first integer.
34
- y : int
35
- The second integer.
36
-
37
- Returns
38
- -------
39
- int
40
- The sum of `x` and `y`.
41
- """
42
- await asyncio.sleep(0.1)
43
- return x + y
44
-
45
- def _protectedSyncFunction(x: int, y: int) -> int:
46
- """
47
- Adds two integers synchronously (protected function).
48
-
49
- Parameters
50
- ----------
51
- x : int
52
- The first integer.
53
- y : int
54
- The second integer.
55
-
56
- Returns
57
- -------
58
- int
59
- The sum of `x` and `y`.
60
- """
61
- return x + y
62
-
63
- async def _protectedAsyncFunction(x: int, y: int) -> int:
64
- """
65
- Adds two integers asynchronously (protected function).
66
-
67
- Parameters
68
- ----------
69
- x : int
70
- The first integer.
71
- y : int
72
- The second integer.
73
-
74
- Returns
75
- -------
76
- int
77
- The sum of `x` and `y`.
78
- """
79
- await asyncio.sleep(0.1)
80
- return x + y
81
-
82
- def __privateSyncFunction(x: int, y: int) -> int:
83
- """
84
- Adds two integers synchronously (private function).
85
-
86
- Parameters
87
- ----------
88
- x : int
89
- The first integer.
90
- y : int
91
- The second integer.
92
-
93
- Returns
94
- -------
95
- int
96
- The sum of `x` and `y`.
97
- """
98
- return x + y
99
-
100
- async def __privateAsyncFunction(x: int, y: int) -> int:
101
- """
102
- Adds two integers asynchronously (private function).
103
-
104
- Parameters
105
- ----------
106
- x : int
107
- The first integer.
108
- y : int
109
- The second integer.
110
-
111
- Returns
112
- -------
113
- int
114
- The sum of `x` and `y`.
115
- """
116
- await asyncio.sleep(0.1)
117
- return x + y
118
-
119
- class PublicFakeClass:
120
- """
121
- Public class used as a test double for inspection and mocking purposes.
122
-
123
- This class acts as a simple parent class for test doubles in inspection-related tests.
124
-
125
- Attributes
126
- ----------
127
- None
128
-
129
- Methods
130
- -------
131
- None
132
- """
133
- pass
134
-
135
- class _ProtectedFakeClass:
136
- """
137
- Protected class used as a test double for inspection and mocking purposes.
138
-
139
- This class acts as a simple parent class for test doubles in inspection-related tests.
140
-
141
- Attributes
142
- ----------
143
- None
144
-
145
- Methods
146
- -------
147
- None
148
- """
149
- pass
150
-
151
- class __PrivateFakeClass:
152
- """
153
- Private class used as a test double for inspection and mocking purposes.
154
-
155
- This class acts as a simple parent class for test doubles in inspection-related tests.
156
-
157
- Attributes
158
- ----------
159
- None
160
-
161
- Methods
162
- -------
163
- None
164
- """
165
- pass
166
-
167
- class BaseFakeClass:
168
- """
169
- Base class for creating fake or mock classes for testing and inspection.
170
-
171
- This class serves as a foundational parent for test doubles used in inspection-related tests.
172
-
173
- Attributes
174
- ----------
175
- None
176
-
177
- Methods
178
- -------
179
- None
180
- """
181
- pass
182
-
183
- class FakeClass(BaseFakeClass):
184
- """
185
- FakeClass is a test double designed to simulate various attribute and method visibilities for inspection and testing.
186
-
187
- This class provides public, protected, and private class-level and instance-level attributes, as well as properties and methods with different visibilities. It includes synchronous and asynchronous instance, class, and static methods to facilitate comprehensive testing of attribute and method access patterns, including Python's name mangling for private members.
188
-
189
- Attributes
190
- ----------
191
- public_attr : int
192
- Public class and instance attribute set to 42.
193
- dynamic_attr
194
- Public attribute initialized to None, can be set dynamically.
195
- _protected_attr : str
196
- Protected class and instance attribute set to "protected".
197
- __private_attr : str
198
- Private class and instance attribute set to "private".
199
- __dd__ : str
200
- Dunder (double underscore) attribute set to "dunder_value".
201
-
202
- Properties
203
- ----------
204
- computed_public_property : str
205
- Returns "public property".
206
- _computed_property_protected : str
207
- Returns "protected property".
208
- __computed_property_private : str
209
- Returns "private property".
210
-
211
- Methods
212
- -------
213
- instanceSyncMethod(x: int, y: int) -> int
214
- Synchronously adds two integers and returns the result.
215
- instanceAsyncMethod(x: int, y: int) -> int
216
- Asynchronously adds two integers and returns the result.
217
- _protectedsyncMethod(x: int, y: int) -> int
218
- Protected synchronous addition method.
219
- _protectedAsyncMethod(x: int, y: int) -> int
220
- Protected asynchronous addition method.
221
- __privateSyncMethod(x: int, y: int) -> int
222
- Private synchronous addition method.
223
- __privateAsyncMethod(x: int, y: int) -> int
224
- Private asynchronous addition method.
225
-
226
- Class Methods
227
- -------------
228
- classSyncMethod(x: int, y: int) -> int
229
- Synchronously adds two integers and returns the result (class method).
230
- classAsyncMethod(x: int, y: int) -> int
231
- Asynchronously adds two integers and returns the result (class method).
232
- _classMethodProtected(x: int, y: int) -> int
233
- Protected synchronous class addition method.
234
- _classAsyncMethodProtected(x: int, y: int) -> int
235
- Protected asynchronous class addition method.
236
- __classMethodPrivate(x: int, y: int) -> int
237
- Private synchronous class addition method.
238
- __classAsyncMethodPrivate(x: int, y: int) -> int
239
- Private asynchronous class addition method.
240
-
241
- Static Methods
242
- --------------
243
- staticMethod(text: str) -> str
244
- Synchronously converts the input text to uppercase.
245
- staticAsyncMethod(text: str) -> str
246
- Asynchronously converts the input text to uppercase.
247
- _staticMethodProtected(text: str) -> str
248
- Protected synchronous static method to convert text to uppercase.
249
- _staticAsyncMethodProtected(text: str) -> str
250
- Protected asynchronous static method to convert text to uppercase.
251
- __staticMethodPrivate(text: str) -> str
252
- Private synchronous static method to convert text to uppercase.
253
- __staticAsyncMethodPrivate(text: str) -> str
254
- Private asynchronous static method to convert text to uppercase.
255
-
256
- Notes
257
- -----
258
- This class is intended for testing and inspection of attribute and method visibility, including Python's name mangling for private members.
259
- """
260
-
261
- # Class-level attribute (Public)
262
- public_attr: int = 42
263
- dynamic_attr = None
264
-
265
- # Class-level attribute (Protected)
266
- _protected_attr: str = "protected"
267
-
268
- # Class-level attribute (Private)
269
- __private_attr: str = "private"
270
- __dd__: str = "dunder_value"
271
-
272
- @property
273
- def computed_public_property(self) -> str:
274
- """
275
- Returns a string indicating this is a public computed property.
276
-
277
- Returns
278
- -------
279
- str
280
- The string "public property".
281
- """
282
- return f"public property"
283
-
284
- @property
285
- def _computed_property_protected(self) -> str:
286
- """
287
- Returns a string indicating this is a protected computed property.
288
-
289
- Returns
290
- -------
291
- str
292
- The string "protected property".
293
- """
294
- # Protected computed property for testing attribute visibility
295
- return f"protected property"
296
-
297
- @property
298
- def __computed_property_private(self) -> str:
299
- """
300
- Returns a string indicating this is a private computed property.
301
-
302
- Returns
303
- -------
304
- str
305
- The string "private property".
306
- """
307
- # Private computed property for internal use or testing
308
- return f"private property"
309
-
310
- def __init__(self) -> None:
311
- """
312
- Initialize a FakeClass instance with attributes of varying visibility.
313
-
314
- Parameters
315
- ----------
316
- None
317
-
318
- Attributes
319
- ----------
320
- public_attr : int
321
- Public attribute set to 42.
322
- dynamic_attr
323
- Public attribute initialized to None, can be set dynamically.
324
- _protected_attr : str
325
- Protected attribute set to "protected".
326
- __private_attr : str
327
- Private attribute set to "private".
328
- __dd__ : str
329
- Dunder (double underscore) attribute set to "dunder_value".
330
- """
331
- # Initialize attributes (Publics)
332
- self.public_attr = 42
333
- self.dynamic_attr = None
334
-
335
- # Initialize attributes (Protected)
336
- self._protected_attr = "protected"
337
-
338
- # Initialize attributes (Private)
339
- self.__private_attr = "private"
340
- self.__dd__ = "dunder_value"
341
-
342
- def instanceSyncMethod(self, x: int, y: int) -> int:
343
- """
344
- Synchronously add two integers and return the result.
345
-
346
- Parameters
347
- ----------
348
- x : int
349
- The first integer to add.
350
- y : int
351
- The second integer to add.
352
-
353
- Returns
354
- -------
355
- int
356
- The sum of `x` and `y`.
357
- """
358
- return x + y
359
-
360
- async def instanceAsyncMethod(self, x: int, y: int) -> int:
361
- """
362
- Asynchronously add two integers and return the result.
363
-
364
- Parameters
365
- ----------
366
- x : int
367
- First integer to add.
368
- y : int
369
- Second integer to add.
370
-
371
- Returns
372
- -------
373
- int
374
- The sum of `x` and `y`.
375
- """
376
- await asyncio.sleep(0.1)
377
- return x + y
378
-
379
- def _protectedsyncMethod(self, x: int, y: int) -> int:
380
- """
381
- Synchronously add two integers and return the result (protected method).
382
-
383
- Parameters
384
- ----------
385
- x : int
386
- First integer to add.
387
- y : int
388
- Second integer to add.
389
-
390
- Returns
391
- -------
392
- int
393
- The sum of `x` and `y`.
394
- """
395
- return x + y
396
-
397
- async def _protectedAsyncMethod(self, x: int, y: int) -> int:
398
- """
399
- Asynchronously add two integers and return the result (protected method).
400
-
401
- Parameters
402
- ----------
403
- x : int
404
- First integer to add.
405
- y : int
406
- Second integer to add.
407
-
408
- Returns
409
- -------
410
- int
411
- The sum of `x` and `y`.
412
- """
413
- await asyncio.sleep(0.1)
414
- return x + y
415
-
416
- def __privateSyncMethod(self, x: int, y: int) -> int:
417
- """
418
- Synchronously add two integers and return the result (private method).
419
-
420
- Parameters
421
- ----------
422
- x : int
423
- First integer to add.
424
- y : int
425
- Second integer to add.
426
-
427
- Returns
428
- -------
429
- int
430
- The sum of `x` and `y`.
431
- """
432
- return x + y
433
-
434
- async def __privateAsyncMethod(self, x: int, y: int) -> int:
435
- """
436
- Asynchronously add two integers and return the result (private method).
437
-
438
- Parameters
439
- ----------
440
- x : int
441
- First integer to add.
442
- y : int
443
- Second integer to add.
444
-
445
- Returns
446
- -------
447
- int
448
- The sum of `x` and `y`.
449
- """
450
- await asyncio.sleep(0.1)
451
- return x + y
452
-
453
- @classmethod
454
- def classSyncMethod(cls, x: int, y: int) -> int:
455
- """
456
- Synchronously adds two integers and returns the result.
457
-
458
- Parameters
459
- ----------
460
- x : int
461
- The first integer to add.
462
- y : int
463
- The second integer to add.
464
-
465
- Returns
466
- -------
467
- int
468
- The sum of `x` and `y`.
469
- """
470
- return x + y
471
-
472
- @classmethod
473
- async def classAsyncMethod(cls, x: int, y: int) -> int:
474
- """
475
- Asynchronously adds two integers and returns the result.
476
-
477
- Parameters
478
- ----------
479
- x : int
480
- The first integer to add.
481
- y : int
482
- The second integer to add.
483
-
484
- Returns
485
- -------
486
- int
487
- The sum of `x` and `y`.
488
- """
489
- await asyncio.sleep(0.1)
490
- return x + y
491
-
492
- @classmethod
493
- def _classMethodProtected(cls, x: int, y: int) -> int:
494
- """
495
- Synchronously adds two integers and returns the result (protected class method).
496
-
497
- Parameters
498
- ----------
499
- x : int
500
- The first integer to add.
501
- y : int
502
- The second integer to add.
503
-
504
- Returns
505
- -------
506
- int
507
- The sum of `x` and `y`.
508
- """
509
- return x + y
510
-
511
- @classmethod
512
- async def _classAsyncMethodProtected(cls, x: int, y: int) -> int:
513
- """
514
- Asynchronously add two integers and return the result (protected class method).
515
-
516
- Parameters
517
- ----------
518
- x : int
519
- The first integer to add.
520
- y : int
521
- The second integer to add.
522
-
523
- Returns
524
- -------
525
- int
526
- The sum of `x` and `y`.
527
- """
528
- await asyncio.sleep(0.1)
529
- return x + y
530
-
531
- @classmethod
532
- def __classMethodPrivate(cls, x: int, y: int) -> int:
533
- """
534
- Synchronously add two integers and return the result (private class method).
535
-
536
- Parameters
537
- ----------
538
- x : int
539
- The first integer to add.
540
- y : int
541
- The second integer to add.
542
-
543
- Returns
544
- -------
545
- int
546
- The sum of `x` and `y`.
547
- """
548
- return x + y
549
-
550
- @classmethod
551
- async def __classAsyncMethodPrivate(cls, x: int, y: int) -> int:
552
- """
553
- Asynchronously add two integers and return the result (private class method).
554
-
555
- Parameters
556
- ----------
557
- x : int
558
- First integer to add.
559
- y : int
560
- Second integer to add.
561
-
562
- Returns
563
- -------
564
- int
565
- The sum of `x` and `y`.
566
- """
567
- await asyncio.sleep(0.1)
568
- return x + y
569
-
570
- @staticmethod
571
- def staticMethod(text: str) -> str:
572
- """
573
- Convert the input string to uppercase synchronously.
574
-
575
- Parameters
576
- ----------
577
- text : str
578
- Input string to convert.
579
-
580
- Returns
581
- -------
582
- str
583
- Uppercase version of the input string.
584
- """
585
- return text.upper()
586
-
587
- @staticmethod
588
- async def staticAsyncMethod(text: str) -> str:
589
- """
590
- Convert the input string to uppercase asynchronously.
591
-
592
- Parameters
593
- ----------
594
- text : str
595
- Input string to convert.
596
-
597
- Returns
598
- -------
599
- str
600
- Uppercase version of the input string.
601
- """
602
- await asyncio.sleep(0.1)
603
- return text.upper()
604
-
605
- @staticmethod
606
- def _staticMethodProtected(text: str) -> str:
607
- """
608
- Converts the input string to uppercase (protected static method).
609
-
610
- Parameters
611
- ----------
612
- text : str
613
- The input string to convert.
614
-
615
- Returns
616
- -------
617
- str
618
- The uppercase version of the input string.
619
- """
620
- return text.upper()
621
-
622
- @staticmethod
623
- async def _staticAsyncMethodProtected(text: str) -> str:
624
- """
625
- Asynchronously converts the input string to uppercase (protected static method).
626
-
627
- Parameters
628
- ----------
629
- text : str
630
- The input string to convert.
631
-
632
- Returns
633
- -------
634
- str
635
- The uppercase version of the input string.
636
- """
637
- await asyncio.sleep(0.1)
638
- return text.upper()
639
-
640
- @staticmethod
641
- def __staticMethodPrivate(text: str) -> str:
642
- """
643
- Converts the input string to uppercase (private static method).
644
-
645
- Parameters
646
- ----------
647
- text : str
648
- The input string to convert.
649
-
650
- Returns
651
- -------
652
- str
653
- The uppercase version of the input string.
654
- """
655
- return text.upper()
656
-
657
- @staticmethod
658
- async def __staticAsyncMethodPrivate(text: str) -> str:
659
- """
660
- Asynchronously converts the input string to uppercase (private static method).
661
-
662
- Parameters
663
- ----------
664
- text : str
665
- The input string to be converted to uppercase.
666
-
667
- Returns
668
- -------
669
- str
670
- The uppercase version of the input string.
671
-
672
- Notes
673
- -----
674
- This is a private static asynchronous method intended for internal use.
675
- """
676
- await asyncio.sleep(0.1)
677
- return text.upper()
678
-
679
- class AbstractFakeClass(ABC):
680
- """
681
- Abstract base class that simulates attributes and methods with various visibility levels for testing and inspection.
682
-
683
- This class defines abstract properties and methods, including public, protected, and private members, to be implemented by concrete subclasses. It is designed to facilitate comprehensive testing of attribute and method access patterns, including Python's name mangling for private members.
684
-
685
- Attributes
686
- ----------
687
- public_attr : int
688
- Public class and instance attribute set to 42.
689
- dynamic_attr
690
- Public attribute initialized to None, can be set dynamically.
691
- _protected_attr : str
692
- Protected class and instance attribute set to "protected".
693
- __private_attr : str
694
- Private class and instance attribute set to "private".
695
- __dd__ : str
696
- Dunder (double underscore) attribute set to "dunder_value".
697
-
698
- Notes
699
- -----
700
- All properties and methods are abstract and must be implemented by subclasses.
701
- """
702
-
703
- # Class-level attributes
704
- public_attr: int = 42
705
- dynamic_attr = None
706
- _protected_attr: str = "protected"
707
- __private_attr: str = "private"
708
- __dd__: str = "dunder_value"
709
-
710
- @property
711
- @abstractmethod
712
- def computed_public_property(self) -> str:
713
- """
714
- Abstract property for a computed public property.
715
-
716
- Returns
717
- -------
718
- str
719
- The computed value of the public property.
720
- """
721
- pass
722
-
723
- @property
724
- @abstractmethod
725
- def _computed_property_protected(self) -> str:
726
- """
727
- Abstract property for a computed protected property.
728
-
729
- Returns
730
- -------
731
- str
732
- The computed value of the protected property.
733
- """
734
- pass
735
-
736
- @property
737
- @abstractmethod
738
- def __computed_property_private(self) -> str:
739
- """
740
- Abstract property for a computed private property.
741
-
742
- Returns
743
- -------
744
- str
745
- The computed value of the private property.
746
- """
747
- pass
748
-
749
- def __init__(self) -> None:
750
- """
751
- Initialize an AbstractFakeClass instance with attributes of varying visibility.
752
-
753
- Attributes
754
- ----------
755
- public_attr : int
756
- Public attribute set to 42.
757
- dynamic_attr
758
- Public attribute initialized to None, can be set dynamically.
759
- _protected_attr : str
760
- Protected attribute set to "protected".
761
- __private_attr : str
762
- Private attribute set to "private".
763
- __dd__ : str
764
- Dunder (double underscore) attribute set to "dunder_value".
765
- """
766
- self.public_attr = 42
767
- self.dynamic_attr = None
768
- self._protected_attr = "protected"
769
- self.__private_attr = "private"
770
- self.__dd__ = "dunder_value"
771
-
772
- # Instance methods
773
- @abstractmethod
774
- def instanceSyncMethod(self, x: int, y: int) -> int:
775
- """
776
- Abstract synchronous instance method to add two integers.
777
-
778
- Parameters
779
- ----------
780
- x : int
781
- First integer.
782
- y : int
783
- Second integer.
784
-
785
- Returns
786
- -------
787
- int
788
- The sum of `x` and `y`.
789
- """
790
- pass
791
-
792
- @abstractmethod
793
- async def instanceAsyncMethod(self, x: int, y: int) -> int:
794
- """
795
- Abstract asynchronous instance method to add two integers.
796
-
797
- Parameters
798
- ----------
799
- x : int
800
- First integer.
801
- y : int
802
- Second integer.
803
-
804
- Returns
805
- -------
806
- int
807
- The sum of `x` and `y`.
808
- """
809
- pass
810
-
811
- @abstractmethod
812
- def _protectedsyncMethod(self, x: int, y: int) -> int:
813
- """
814
- Abstract protected synchronous instance method to add two integers.
815
-
816
- Parameters
817
- ----------
818
- x : int
819
- First integer.
820
- y : int
821
- Second integer.
822
-
823
- Returns
824
- -------
825
- int
826
- The sum of `x` and `y`.
827
- """
828
- pass
829
-
830
- @abstractmethod
831
- async def _protectedAsyncMethod(self, x: int, y: int) -> int:
832
- """
833
- Abstract protected asynchronous instance method to add two integers.
834
-
835
- Parameters
836
- ----------
837
- x : int
838
- First integer.
839
- y : int
840
- Second integer.
841
-
842
- Returns
843
- -------
844
- int
845
- The sum of `x` and `y`.
846
- """
847
- pass
848
-
849
- @abstractmethod
850
- def __privateSyncMethod(self, x: int, y: int) -> int:
851
- """
852
- Abstract private synchronous instance method to add two integers.
853
-
854
- Parameters
855
- ----------
856
- x : int
857
- First integer.
858
- y : int
859
- Second integer.
860
-
861
- Returns
862
- -------
863
- int
864
- The sum of `x` and `y`.
865
- """
866
- pass
867
-
868
- @abstractmethod
869
- async def __privateAsyncMethod(self, x: int, y: int) -> int:
870
- """
871
- Abstract private asynchronous instance method to add two integers.
872
-
873
- Parameters
874
- ----------
875
- x : int
876
- First integer.
877
- y : int
878
- Second integer.
879
-
880
- Returns
881
- -------
882
- int
883
- The sum of `x` and `y`.
884
- """
885
- pass
886
-
887
- # Class methods
888
- @classmethod
889
- @abstractmethod
890
- def classSyncMethod(cls, x: int, y: int) -> int:
891
- """
892
- Abstract synchronous class method to add two integers.
893
-
894
- Parameters
895
- ----------
896
- x : int
897
- First integer.
898
- y : int
899
- Second integer.
900
-
901
- Returns
902
- -------
903
- int
904
- The sum of `x` and `y`.
905
- """
906
- pass
907
-
908
- @classmethod
909
- @abstractmethod
910
- async def classAsyncMethod(cls, x: int, y: int) -> int:
911
- """
912
- Abstract asynchronous class method to add two integers.
913
-
914
- Parameters
915
- ----------
916
- x : int
917
- First integer.
918
- y : int
919
- Second integer.
920
-
921
- Returns
922
- -------
923
- int
924
- The sum of `x` and `y`.
925
- """
926
- pass
927
-
928
- @classmethod
929
- @abstractmethod
930
- def _classMethodProtected(cls, x: int, y: int) -> int:
931
- """
932
- Abstract protected synchronous class method to add two integers.
933
-
934
- Parameters
935
- ----------
936
- x : int
937
- First integer.
938
- y : int
939
- Second integer.
940
-
941
- Returns
942
- -------
943
- int
944
- The sum of `x` and `y`.
945
- """
946
- pass
947
-
948
- @classmethod
949
- @abstractmethod
950
- async def _classAsyncMethodProtected(cls, x: int, y: int) -> int:
951
- """
952
- Abstract protected asynchronous class method to add two integers.
953
-
954
- Parameters
955
- ----------
956
- x : int
957
- First integer.
958
- y : int
959
- Second integer.
960
-
961
- Returns
962
- -------
963
- int
964
- The sum of `x` and `y`.
965
- """
966
- pass
967
-
968
- @classmethod
969
- @abstractmethod
970
- def __classMethodPrivate(cls, x: int, y: int) -> int:
971
- """
972
- Abstract private synchronous class method to add two integers.
973
-
974
- Parameters
975
- ----------
976
- x : int
977
- First integer.
978
- y : int
979
- Second integer.
980
-
981
- Returns
982
- -------
983
- int
984
- The sum of `x` and `y`.
985
- """
986
- pass
987
-
988
- @classmethod
989
- @abstractmethod
990
- async def __classAsyncMethodPrivate(cls, x: int, y: int) -> int:
991
- """
992
- Abstract private asynchronous class method to add two integers.
993
-
994
- Parameters
995
- ----------
996
- x : int
997
- First integer.
998
- y : int
999
- Second integer.
1000
-
1001
- Returns
1002
- -------
1003
- int
1004
- The sum of `x` and `y`.
1005
- """
1006
- pass
1007
-
1008
- # Static methods
1009
- @staticmethod
1010
- @abstractmethod
1011
- def staticMethod(text: str) -> str:
1012
- """
1013
- Abstract synchronous static method to convert a string to uppercase.
1014
-
1015
- Parameters
1016
- ----------
1017
- text : str
1018
- Input string.
1019
-
1020
- Returns
1021
- -------
1022
- str
1023
- Uppercase version of the input string.
1024
- """
1025
- pass
1026
-
1027
- @staticmethod
1028
- @abstractmethod
1029
- async def staticAsyncMethod(text: str) -> str:
1030
- """
1031
- Abstract asynchronous static method to convert a string to uppercase.
1032
-
1033
- Parameters
1034
- ----------
1035
- text : str
1036
- Input string.
1037
-
1038
- Returns
1039
- -------
1040
- str
1041
- Uppercase version of the input string.
1042
- """
1043
- pass
1044
-
1045
- @staticmethod
1046
- @abstractmethod
1047
- def _staticMethodProtected(text: str) -> str:
1048
- """
1049
- Abstract protected synchronous static method to convert a string to uppercase.
1050
-
1051
- Parameters
1052
- ----------
1053
- text : str
1054
- Input string.
1055
-
1056
- Returns
1057
- -------
1058
- str
1059
- Uppercase version of the input string.
1060
- """
1061
- pass
1062
-
1063
- @staticmethod
1064
- @abstractmethod
1065
- async def _staticAsyncMethodProtected(text: str) -> str:
1066
- """
1067
- Abstract protected asynchronous static method to convert a string to uppercase.
1068
-
1069
- Parameters
1070
- ----------
1071
- text : str
1072
- Input string.
1073
-
1074
- Returns
1075
- -------
1076
- str
1077
- Uppercase version of the input string.
1078
- """
1079
- pass
1080
-
1081
- @staticmethod
1082
- @abstractmethod
1083
- def __staticMethodPrivate(text: str) -> str:
1084
- """
1085
- Abstract private synchronous static method to convert a string to uppercase.
1086
-
1087
- Parameters
1088
- ----------
1089
- text : str
1090
- Input string.
1091
-
1092
- Returns
1093
- -------
1094
- str
1095
- Uppercase version of the input string.
1096
- """
1097
- pass
1098
-
1099
- @staticmethod
1100
- @abstractmethod
1101
- async def __staticAsyncMethodPrivate(text: str) -> str:
1102
- """
1103
- Abstract private asynchronous static method to convert a string to uppercase.
1104
-
1105
- Parameters
1106
- ----------
1107
- text : str
1108
- Input string.
1109
-
1110
- Returns
1111
- -------
1112
- str
1113
- Uppercase version of the input string.
1114
- """
1115
- pass