orionis 0.232.0__py3-none-any.whl → 0.234.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.
- orionis/framework.py +1 -1
- orionis/luminate/support/inspection/dependencies/contracts/__init__.py +0 -0
- orionis/luminate/support/inspection/dependencies/contracts/reflect_dependencies.py +43 -0
- orionis/luminate/support/inspection/dependencies/entities/__init__.py +0 -0
- orionis/luminate/support/inspection/dependencies/entities/class_dependencies.py +10 -0
- orionis/luminate/support/inspection/dependencies/entities/method_dependencies.py +10 -0
- orionis/luminate/support/inspection/dependencies/entities/resolved_dependencies.py +12 -0
- orionis/luminate/support/inspection/dependencies/reflect_dependencies.py +176 -0
- orionis/luminate/support/inspection/helpers/__init__.py +0 -0
- orionis/luminate/support/inspection/helpers/functions.py +281 -0
- orionis/luminate/support/inspection/reflect_decorators.py +335 -0
- orionis/luminate/support/inspection/reflection.py +16 -22
- orionis/luminate/support/inspection/reflection_instance.py +801 -0
- orionis/luminate/support/inspection/reflexion_concrete_with_abstract.py +1 -1
- orionis/luminate/support/inspection/reflexion_instance_with_abstract.py +4 -4
- orionis/luminate/test/case.py +9 -0
- orionis/luminate/test/cases/__init__.py +0 -0
- orionis/luminate/test/cases/test_async.py +32 -0
- orionis/luminate/test/cases/test_case.py +23 -0
- orionis/luminate/test/cases/test_sync.py +10 -0
- orionis/luminate/test/core/__init__.py +0 -0
- orionis/luminate/test/core/contracts/__init__.py +0 -0
- orionis/luminate/test/{test_suite.py → core/test_suite.py} +2 -2
- orionis/luminate/test/{test_unit.py → core/test_unit.py} +4 -4
- orionis/luminate/test/entities/__init__.py +0 -0
- orionis/luminate/test/{test_result.py → entities/test_result.py} +2 -2
- orionis/luminate/test/enums/__init__.py +0 -0
- orionis/luminate/test/exceptions/__init__.py +0 -0
- orionis/luminate/test/output/__init__.py +0 -0
- orionis/luminate/test/{test_std_out.py → output/test_std_out.py} +1 -1
- orionis/luminate/test/suite.py +7 -0
- {orionis-0.232.0.dist-info → orionis-0.234.0.dist-info}/METADATA +1 -1
- {orionis-0.232.0.dist-info → orionis-0.234.0.dist-info}/RECORD +58 -38
- tests/example/test_example.py +1 -1
- tests/support/adapters/test_doct_dict.py +1 -1
- tests/support/async_io/test_async_coroutine.py +1 -1
- tests/support/environment/test_env.py +1 -1
- tests/support/inspection/fakes/fake_reflection_instance.py +2 -1
- tests/support/inspection/test_reflection_abstract.py +19 -1
- tests/support/inspection/test_reflection_concrete.py +1 -1
- tests/support/inspection/test_reflection_concrete_with_abstract.py +1 -1
- tests/support/inspection/test_reflection_instance.py +71 -16
- tests/support/inspection/test_reflection_instance_with_abstract.py +1 -1
- tests/support/parsers/test_exception_parser.py +1 -1
- tests/support/path/test_resolver.py +6 -6
- tests/support/patterns/test_singleton.py +1 -1
- tests/support/standard/test_std.py +1 -1
- orionis/luminate/support/inspection/functions.py +0 -263
- orionis/luminate/support/inspection/reflexion_instance.py +0 -527
- orionis/luminate/test/test_case.py +0 -62
- /orionis/luminate/{test/contracts → support/inspection/dependencies}/__init__.py +0 -0
- /orionis/luminate/support/inspection/{reflexion_abstract.py → reflect_abstract.py} +0 -0
- /orionis/luminate/test/{contracts → core/contracts}/test_suite.py +0 -0
- /orionis/luminate/test/{contracts → core/contracts}/test_unit.py +0 -0
- /orionis/luminate/test/{test_status.py → enums/test_status.py} +0 -0
- /orionis/luminate/test/{test_exception.py → exceptions/test_exception.py} +0 -0
- /orionis/luminate/test/{contracts → output/contracts}/test_std_out.py +0 -0
- {orionis-0.232.0.dist-info → orionis-0.234.0.dist-info}/LICENCE +0 -0
- {orionis-0.232.0.dist-info → orionis-0.234.0.dist-info}/WHEEL +0 -0
- {orionis-0.232.0.dist-info → orionis-0.234.0.dist-info}/entry_points.txt +0 -0
- {orionis-0.232.0.dist-info → orionis-0.234.0.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
import abc
|
2
2
|
import inspect
|
3
3
|
from typing import Any, Dict, List, Tuple, Type, TypeVar, Union
|
4
|
-
from orionis.luminate.support.inspection.
|
4
|
+
from orionis.luminate.support.inspection.reflect_abstract import ReflexionAbstract
|
5
5
|
from orionis.luminate.support.inspection.reflexion_concrete import ReflexionConcrete
|
6
6
|
|
7
7
|
T = TypeVar('T')
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import abc
|
2
2
|
import inspect
|
3
3
|
from typing import Any, Dict, List, Tuple, Type, TypeVar, Union
|
4
|
-
from orionis.luminate.support.inspection.
|
5
|
-
from orionis.luminate.support.inspection.
|
4
|
+
from orionis.luminate.support.inspection.reflect_abstract import ReflexionAbstract
|
5
|
+
from orionis.luminate.support.inspection.reflection_instance import ReflectionInstance
|
6
6
|
|
7
7
|
T = TypeVar('T')
|
8
8
|
ABC = TypeVar('ABC', bound=abc.ABC)
|
@@ -35,11 +35,11 @@ class ReflexionInstanceWithAbstract:
|
|
35
35
|
def __init__(self, instance: Any, abstract: Type[ABC]) -> None:
|
36
36
|
self._instance = instance
|
37
37
|
self._abstract = abstract
|
38
|
-
self._concrete_reflexion =
|
38
|
+
self._concrete_reflexion = ReflectionInstance(instance)
|
39
39
|
self._abstract_reflexion = ReflexionAbstract(abstract)
|
40
40
|
|
41
41
|
@property
|
42
|
-
def concrete(self) ->
|
42
|
+
def concrete(self) -> ReflectionInstance:
|
43
43
|
"""Access the concrete instance reflection helper."""
|
44
44
|
return self._concrete_reflexion
|
45
45
|
|
File without changes
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import unittest
|
2
|
+
from orionis.luminate.test.output.test_std_out import TestStdOut
|
3
|
+
|
4
|
+
class AsyncTestCase(unittest.IsolatedAsyncioTestCase, TestStdOut):
|
5
|
+
"""
|
6
|
+
AsyncTestCase is a test case class designed for asynchronous unit testing.
|
7
|
+
It inherits from `unittest.IsolatedAsyncioTestCase` to provide support for
|
8
|
+
async test methods and `TestStdOut` for additional functionality.
|
9
|
+
Methods
|
10
|
+
-------
|
11
|
+
asyncSetUp()
|
12
|
+
Asynchronous setup method called before each test. It ensures that the
|
13
|
+
parent class's asyncSetUp method is invoked to initialize any required
|
14
|
+
resources.
|
15
|
+
asyncTearDown()
|
16
|
+
Asynchronous teardown method called after each test. It ensures that the
|
17
|
+
parent class's asyncTearDown method is invoked to clean up any resources
|
18
|
+
used during the test.
|
19
|
+
"""
|
20
|
+
async def asyncSetUp(self):
|
21
|
+
"""
|
22
|
+
Asynchronous setup method called before each test.
|
23
|
+
It ensures that the parent class's asyncSetUp method is invoked to initialize
|
24
|
+
"""
|
25
|
+
await super().asyncSetUp()
|
26
|
+
|
27
|
+
async def asyncTearDown(self):
|
28
|
+
"""
|
29
|
+
Asynchronous teardown method called after each test.
|
30
|
+
It ensures that the parent class's asyncTearDown method is invoked to clean up
|
31
|
+
"""
|
32
|
+
await super().asyncTearDown()
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import unittest
|
2
|
+
from orionis.luminate.test.output.test_std_out import TestStdOut
|
3
|
+
|
4
|
+
class TestCase(unittest.IsolatedAsyncioTestCase, TestStdOut):
|
5
|
+
"""
|
6
|
+
TestCase is a base class for unit tests that provides support for asynchronous
|
7
|
+
testing using `unittest.IsolatedAsyncioTestCase` and additional functionality
|
8
|
+
from `TestStdOut`."""
|
9
|
+
async def asyncSetUp(self):
|
10
|
+
"""
|
11
|
+
Asynchronous setup method called before each test.
|
12
|
+
It ensures that the parent class's asyncSetUp method is invoked to initialize
|
13
|
+
any required resources.
|
14
|
+
"""
|
15
|
+
await super().asyncSetUp()
|
16
|
+
|
17
|
+
async def asyncTearDown(self):
|
18
|
+
"""
|
19
|
+
Asynchronous teardown method called after each test.
|
20
|
+
It ensures that the parent class's asyncTearDown method is invoked to clean up
|
21
|
+
any resources used during the test.
|
22
|
+
"""
|
23
|
+
await super().asyncTearDown()
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import unittest
|
2
|
+
from orionis.luminate.test.output.test_std_out import TestStdOut
|
3
|
+
|
4
|
+
class SyncTestCase(unittest.TestCase, TestStdOut):
|
5
|
+
"""
|
6
|
+
SyncTestCase is a test case class designed for synchronous unit testing.
|
7
|
+
It inherits from `unittest.TestCase` to provide support for standard test methods
|
8
|
+
and `TestStdOut` for additional functionality.
|
9
|
+
"""
|
10
|
+
pass
|
File without changes
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import re
|
2
2
|
from os import walk
|
3
|
-
from orionis.luminate.test.contracts.test_suite import ITestSuite
|
4
|
-
from orionis.luminate.test.test_unit import UnitTest as UnitTestClass
|
3
|
+
from orionis.luminate.test.core.contracts.test_suite import ITestSuite
|
4
|
+
from orionis.luminate.test.core.test_unit import UnitTest as UnitTestClass
|
5
5
|
|
6
6
|
class TestSuite(ITestSuite):
|
7
7
|
"""
|
@@ -7,10 +7,10 @@ from contextlib import redirect_stdout, redirect_stderr
|
|
7
7
|
from dataclasses import asdict
|
8
8
|
from typing import Any, Dict, List, Optional, Tuple
|
9
9
|
from orionis.luminate.console.output.console import Console
|
10
|
-
from orionis.luminate.test.contracts.test_unit import IUnitTest
|
11
|
-
from orionis.luminate.test.test_exception import OrionisTestFailureException
|
12
|
-
from orionis.luminate.test.test_result import TestResult
|
13
|
-
from orionis.luminate.test.test_status import TestStatus
|
10
|
+
from orionis.luminate.test.core.contracts.test_unit import IUnitTest
|
11
|
+
from orionis.luminate.test.exceptions.test_exception import OrionisTestFailureException
|
12
|
+
from orionis.luminate.test.entities.test_result import TestResult
|
13
|
+
from orionis.luminate.test.enums.test_status import TestStatus
|
14
14
|
|
15
15
|
class UnitTest(IUnitTest):
|
16
16
|
"""
|
File without changes
|
@@ -1,8 +1,8 @@
|
|
1
1
|
from dataclasses import dataclass
|
2
2
|
from typing import Optional
|
3
|
-
from orionis.luminate.test.test_status import TestStatus
|
3
|
+
from orionis.luminate.test.enums.test_status import TestStatus
|
4
4
|
|
5
|
-
@dataclass
|
5
|
+
@dataclass(frozen=True)
|
6
6
|
class TestResult:
|
7
7
|
"""
|
8
8
|
Data class containing detailed information about a test result.
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import os
|
2
2
|
import sys
|
3
3
|
from orionis.luminate.console.output.console import Console
|
4
|
-
from orionis.luminate.test.contracts.test_std_out import ITestStdOut
|
4
|
+
from orionis.luminate.test.output.contracts.test_std_out import ITestStdOut
|
5
5
|
|
6
6
|
class TestStdOut(ITestStdOut):
|
7
7
|
"""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
orionis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
orionis/console.py,sha256=4gYWxf0fWYgJ4RKwARvnTPh06FL3GJ6SAZ7R2NzOICw,1342
|
3
|
-
orionis/framework.py,sha256=
|
3
|
+
orionis/framework.py,sha256=jCkFELTVlhXvUmNuZhrhHTvrBjI4Q6KRFNyrYwc0xBI,1458
|
4
4
|
orionis/installer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
orionis/installer/manager.py,sha256=Li4TVziRXWfum02xNG4JHwbnLk-u8xzHjdqKz-D894k,2755
|
6
6
|
orionis/installer/output.py,sha256=7O9qa2xtXMB_4ZvVi-Klneom9YazwygAd_4uYAoxhbU,8548
|
@@ -168,18 +168,28 @@ orionis/luminate/support/environment/contracts/__init__.py,sha256=47DEQpj8HBSa-_
|
|
168
168
|
orionis/luminate/support/environment/contracts/env.py,sha256=buJfzebBOUuq2CnhQCWlnJuzJAEo06-S0_SPR4N_mOY,1647
|
169
169
|
orionis/luminate/support/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
170
170
|
orionis/luminate/support/inspection/container_integrity.py,sha256=6d9FsGk-Rm1AXgqBS3Nww49dR7n1ptXTTNyGUuBHgNY,10111
|
171
|
-
orionis/luminate/support/inspection/
|
172
|
-
orionis/luminate/support/inspection/
|
173
|
-
orionis/luminate/support/inspection/
|
171
|
+
orionis/luminate/support/inspection/reflect_abstract.py,sha256=nImlP07TpsT0azgIafGVZfSv1THrBoJOlNSSr9vDKiE,10848
|
172
|
+
orionis/luminate/support/inspection/reflect_decorators.py,sha256=fnxnkEcRSU8TxDGdjCNlvXMNHEKzW7AwO_aPOVCbs9w,11548
|
173
|
+
orionis/luminate/support/inspection/reflection.py,sha256=9vFjW9eCi-2yszE5OVAEqG8cEQS4BZe_dbmOi1YEEuc,7799
|
174
|
+
orionis/luminate/support/inspection/reflection_instance.py,sha256=5VmeCkoXmmk1QQ9XLmTZ3PwOIl_Jqas3AtYQ74J1KbA,24859
|
174
175
|
orionis/luminate/support/inspection/reflexion_concrete.py,sha256=1ISuy2L6Oser-EhmpuGALmbauh7Z-X8Rx1YYgt5CabQ,7543
|
175
|
-
orionis/luminate/support/inspection/reflexion_concrete_with_abstract.py,sha256=
|
176
|
-
orionis/luminate/support/inspection/
|
177
|
-
orionis/luminate/support/inspection/reflexion_instance_with_abstract.py,sha256=PI_VSH8baxjPgheOYc9tQAlLq9mjxGm5zCOr-bLVksg,9406
|
176
|
+
orionis/luminate/support/inspection/reflexion_concrete_with_abstract.py,sha256=5QS--jn7-f0-g_UnkztIY68rvEhIHH-xDkfY6S6vSCM,7478
|
177
|
+
orionis/luminate/support/inspection/reflexion_instance_with_abstract.py,sha256=C4r9tJP89IH_Tuvwl_T-NwXY15NgaSS7OfFOaVkUFdA,9408
|
178
178
|
orionis/luminate/support/inspection/reflexion_module.py,sha256=OgBXpqNJHkmq-gX4rqFStv-WVNe9R38RsgUgfHpak8k,405
|
179
179
|
orionis/luminate/support/inspection/reflexion_module_with_classname.py,sha256=YZHZI0XUZkSWnq9wrGxrIXtI64nY9yVSZoMe7PZXq8Y,620
|
180
180
|
orionis/luminate/support/inspection/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
181
181
|
orionis/luminate/support/inspection/contracts/reflection.py,sha256=zF9OLiEdgWJtJWvfrmWCQhbDjgYmm-QvAkFv9OLb3rE,4959
|
182
182
|
orionis/luminate/support/inspection/contracts/reflexion_abstract.py,sha256=u8SiBTvcWltwR9g64akCNCzsTq8YkkZIPPEPwbyroQU,6396
|
183
|
+
orionis/luminate/support/inspection/dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
184
|
+
orionis/luminate/support/inspection/dependencies/reflect_dependencies.py,sha256=L-9pO1KBeEc8jRbMJSzerDPG9roVzX-Xtyy3PEf-MJo,7015
|
185
|
+
orionis/luminate/support/inspection/dependencies/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
186
|
+
orionis/luminate/support/inspection/dependencies/contracts/reflect_dependencies.py,sha256=tt4DQWj_BEX9jSJSdgQEJH1drFr9j5YlyS5LwvF65Yo,1682
|
187
|
+
orionis/luminate/support/inspection/dependencies/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
188
|
+
orionis/luminate/support/inspection/dependencies/entities/class_dependencies.py,sha256=aUr8AIWn5R2X_kpdBOnin_dbg7NkkGcxUSZXosx9Xqk,257
|
189
|
+
orionis/luminate/support/inspection/dependencies/entities/method_dependencies.py,sha256=ZYmCrvhtTeIORFpNuK4h_CgnT2AEpf1MmGnBH0w_roo,263
|
190
|
+
orionis/luminate/support/inspection/dependencies/entities/resolved_dependencies.py,sha256=yhnJC7lwdTtemRSIjxc2HschBOUp6Nf2rNky6zI5oos,284
|
191
|
+
orionis/luminate/support/inspection/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
192
|
+
orionis/luminate/support/inspection/helpers/functions.py,sha256=JC2_t732LqcJn3zoRZwFAqcm6kT6HvsJmupysjH3aiY,8537
|
183
193
|
orionis/luminate/support/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
184
194
|
orionis/luminate/support/parsers/exception_parser.py,sha256=6MTeql76c1Muh9Nn-jz2jJdzb9_F7SLdoFjqBD5F8lY,3642
|
185
195
|
orionis/luminate/support/parsers/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -195,17 +205,27 @@ orionis/luminate/support/standard/std.py,sha256=t6dkZxOmSsu3yaIwlvRwdTcV-6KS8lZE
|
|
195
205
|
orionis/luminate/support/standard/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
196
206
|
orionis/luminate/support/standard/contracts/std.py,sha256=x9sVir2yg4hve56cCklIdVSr8utruIO_sUdlTNfZ1Ds,3109
|
197
207
|
orionis/luminate/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
198
|
-
orionis/luminate/test/
|
199
|
-
orionis/luminate/test/
|
200
|
-
orionis/luminate/test/
|
201
|
-
orionis/luminate/test/
|
202
|
-
orionis/luminate/test/
|
203
|
-
orionis/luminate/test/
|
204
|
-
orionis/luminate/test/
|
205
|
-
orionis/luminate/test/
|
206
|
-
orionis/luminate/test/
|
207
|
-
orionis/luminate/test/contracts/
|
208
|
-
orionis/luminate/test/contracts/
|
208
|
+
orionis/luminate/test/case.py,sha256=ujC1W9Dczxn8wHo1zlc-wJTxZbcdpzBw06PhOws3Nfk,266
|
209
|
+
orionis/luminate/test/suite.py,sha256=KlQk5hh2Q04e05Jvz1WtT4xKQo8YFIODhAqHcRHOXhQ,172
|
210
|
+
orionis/luminate/test/cases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
211
|
+
orionis/luminate/test/cases/test_async.py,sha256=1wbeGkzlD4Q_e1BsSzhkiEjffIWx7d173l0Sx500FjQ,1335
|
212
|
+
orionis/luminate/test/cases/test_case.py,sha256=YhhPxOBd-_eZz8xBtbcKtnQxEhEU151IHc3bL6aCSiA,922
|
213
|
+
orionis/luminate/test/cases/test_sync.py,sha256=XnA3eC6xvfBXD3h7xqt6db5rIhYbhSlYaUWotatBxdg,380
|
214
|
+
orionis/luminate/test/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
215
|
+
orionis/luminate/test/core/test_suite.py,sha256=fY_fWDDKGgN2i-SFZ__kT4yVx2VewTZyPRm6Nz5YWok,3292
|
216
|
+
orionis/luminate/test/core/test_unit.py,sha256=J1h2gu8SH0Ss4Iw5BZMkOQyj3XiyOBXyT4n_B6AE0jo,12189
|
217
|
+
orionis/luminate/test/core/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
218
|
+
orionis/luminate/test/core/contracts/test_suite.py,sha256=TOIys-Z1HllUJe-qMY9mOfZGiZPXlKRuAZtJ-B2iDz8,1375
|
219
|
+
orionis/luminate/test/core/contracts/test_unit.py,sha256=CD4FHslmWt1yPbfBhZBsG1QPzGmwKQPkL5cFvJgeilo,2624
|
220
|
+
orionis/luminate/test/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
221
|
+
orionis/luminate/test/entities/test_result.py,sha256=RhnB6m7iJNsygmrhkwa04ZY2dx9vWTmIMKhr24Tg_VU,1018
|
222
|
+
orionis/luminate/test/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
223
|
+
orionis/luminate/test/enums/test_status.py,sha256=vNKRmp1lud_ZGTayf3A8wO_0vEYdFABy_oMw-RcEc1c,673
|
224
|
+
orionis/luminate/test/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
225
|
+
orionis/luminate/test/exceptions/test_exception.py,sha256=21PILTXnMuL5-wT3HGKjIklt8VeIYDcQDN346i-BbJw,1336
|
226
|
+
orionis/luminate/test/output/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
227
|
+
orionis/luminate/test/output/test_std_out.py,sha256=IPYaCH_iwDjdc-dz99cR7X1U7fnGo5uBekF8RUfyANQ,2858
|
228
|
+
orionis/luminate/test/output/contracts/test_std_out.py,sha256=ryvMotj-rpVKOsyGqW0B0IEHuF8DdQj1Rn0K8xiyBOE,489
|
209
229
|
orionis/static/ascii/icon.ascii,sha256=IgrlVjcYxcCrr0cJuJkOnEz0aEdAQBTyLzO5ainKsWc,398
|
210
230
|
orionis/static/ascii/info.ascii,sha256=HF_o2eXaiw5iqcOhHfnPByn5GJ_O2eBwSK3IpTfYOwY,457
|
211
231
|
orionis/static/bg/galaxy.jpg,sha256=_FuPghOe9LBrIWv1eKZ9fiZR72sEz5obvXGDnD7MzTc,172244
|
@@ -217,41 +237,41 @@ orionis/static/logos/OrionisFramework2.png,sha256=Z_-yBHNSo33QeSTyi-8GfiFozdRqUo
|
|
217
237
|
orionis/static/logos/OrionisFramework3.png,sha256=BPG9ZB58vDALavI9OMmr8Ym0DQa44s5NL_3M4M6dIYs,193734
|
218
238
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
219
239
|
tests/example/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
220
|
-
tests/example/test_example.py,sha256=
|
240
|
+
tests/example/test_example.py,sha256=BNaEZtiAQruWDpcnwq36uMdHwoekWz0DvcFrChOd5ZA,581
|
221
241
|
tests/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
222
242
|
tests/support/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
223
|
-
tests/support/adapters/test_doct_dict.py,sha256=
|
243
|
+
tests/support/adapters/test_doct_dict.py,sha256=k9nTAb9D1VdRPFOJQP5sbO5DY8FrWzEdsof9S582Swc,801
|
224
244
|
tests/support/adapters/fakes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
225
245
|
tests/support/adapters/fakes/fake_dict.py,sha256=KD48_xBc8pqj3LAe1_v1esu-1Fdz8fL5eZ70LSqkcbg,393
|
226
246
|
tests/support/async_io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
227
|
-
tests/support/async_io/test_async_coroutine.py,sha256=
|
247
|
+
tests/support/async_io/test_async_coroutine.py,sha256=VjvRe4R8jj_lYrF6rrop0NYF80jwUkOYw6vXq1dMo74,1527
|
228
248
|
tests/support/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
229
|
-
tests/support/environment/test_env.py,sha256=
|
249
|
+
tests/support/environment/test_env.py,sha256=r4fq2aJ-d5K65Wo-wrQmtdCbT-SAeeEOc_yzGkZ7xRU,2657
|
230
250
|
tests/support/inspection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
231
|
-
tests/support/inspection/test_reflection_abstract.py,sha256=
|
232
|
-
tests/support/inspection/test_reflection_concrete.py,sha256=
|
233
|
-
tests/support/inspection/test_reflection_concrete_with_abstract.py,sha256=
|
234
|
-
tests/support/inspection/test_reflection_instance.py,sha256=
|
235
|
-
tests/support/inspection/test_reflection_instance_with_abstract.py,sha256=
|
251
|
+
tests/support/inspection/test_reflection_abstract.py,sha256=jb5clgVfn7mffHYWj_kJEtPqxNUY1VIuNEoHS3Rzbwg,9342
|
252
|
+
tests/support/inspection/test_reflection_concrete.py,sha256=cbBFHIAk9gdv9TeYwWy09p8qelaRA0aA6Go4RQC0w9w,6777
|
253
|
+
tests/support/inspection/test_reflection_concrete_with_abstract.py,sha256=uGNe_cS3rDC0JkShlahW9LfxoLpVFHaGVMzMCHwBNSc,4675
|
254
|
+
tests/support/inspection/test_reflection_instance.py,sha256=bbLMXDkTlN-eAMBrb8ut3tJJAGFW81_faZ04TkvI2iI,14096
|
255
|
+
tests/support/inspection/test_reflection_instance_with_abstract.py,sha256=b8rlmtydl_G6bKbnuHXWbyFJIg6Br3KW_KMvshDiCV0,4084
|
236
256
|
tests/support/inspection/fakes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
237
257
|
tests/support/inspection/fakes/fake_reflection_abstract.py,sha256=7qtz44brfFzE4oNYi9kIsvdWP79nP2FnzSz-0bU__pg,5045
|
238
258
|
tests/support/inspection/fakes/fake_reflection_concrete.py,sha256=j6gzsxE3xq5oJ30H_Hm1RsUwEY3jOYBu4sclxtD1ayo,1047
|
239
259
|
tests/support/inspection/fakes/fake_reflection_concrete_with_abstract.py,sha256=ibCjrtNM6BMf5Z5VMvat7E6zOAk5g9z--gj4ykKJWY8,2118
|
240
|
-
tests/support/inspection/fakes/fake_reflection_instance.py,sha256=
|
260
|
+
tests/support/inspection/fakes/fake_reflection_instance.py,sha256=P5lSFiGPLLAPOIRmw4VE3YWctxlqmXARRiWMSGLrg3E,1382
|
241
261
|
tests/support/inspection/fakes/fake_reflection_instance_with_abstract.py,sha256=SfL8FuFmr650RlzXTrP4tGMfsPVZLhOxVnBXu_g1POg,1471
|
242
262
|
tests/support/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
243
|
-
tests/support/parsers/test_exception_parser.py,sha256=
|
263
|
+
tests/support/parsers/test_exception_parser.py,sha256=el9SiqLH0AjBCkmyYpuyEt_3Xk2AUKeea_288jdGvbQ,2358
|
244
264
|
tests/support/parsers/fakes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
245
265
|
tests/support/parsers/fakes/fake_custom_error.py,sha256=BD8tQPhmIYFYVcaeMpEQ6uK1d6pcU4EGbwRkVfCZp7c,802
|
246
266
|
tests/support/path/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
247
|
-
tests/support/path/test_resolver.py,sha256=
|
267
|
+
tests/support/path/test_resolver.py,sha256=1EcozSFYEJg2eHqzbv0MaP3i17_nN7zCGyhQcfjN_X4,1228
|
248
268
|
tests/support/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
249
|
-
tests/support/patterns/test_singleton.py,sha256=
|
269
|
+
tests/support/patterns/test_singleton.py,sha256=CnHm2lE66j1mFsOM-hJzYLTVMKNN-Sl7mkbuFVmtmXU,629
|
250
270
|
tests/support/standard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
251
|
-
tests/support/standard/test_std.py,sha256
|
252
|
-
orionis-0.
|
253
|
-
orionis-0.
|
254
|
-
orionis-0.
|
255
|
-
orionis-0.
|
256
|
-
orionis-0.
|
257
|
-
orionis-0.
|
271
|
+
tests/support/standard/test_std.py,sha256=-8EU5BQiU-Pb340X04q7SxxZpkU5ifH22gQ9JjvCWSg,2037
|
272
|
+
orionis-0.234.0.dist-info/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
|
273
|
+
orionis-0.234.0.dist-info/METADATA,sha256=5VdLh7fi7e-BjdYsf3YwWj_L6pXoKgRm4Lqi4r0FNMg,3003
|
274
|
+
orionis-0.234.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
275
|
+
orionis-0.234.0.dist-info/entry_points.txt,sha256=a_e0faeSqyUCVZd0MqljQ2oaHHdlsz6g9sU_bMqi5zQ,49
|
276
|
+
orionis-0.234.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
|
277
|
+
orionis-0.234.0.dist-info/RECORD,,
|
tests/example/test_example.py
CHANGED
@@ -10,7 +10,8 @@ class FakeClass(BaseFakeClass):
|
|
10
10
|
|
11
11
|
def __init__(self) -> None:
|
12
12
|
self.public_attr = 42
|
13
|
-
self.
|
13
|
+
self._protected_attr = "protected"
|
14
|
+
self.__private_attr = "private"
|
14
15
|
self.dynamic_attr = None
|
15
16
|
|
16
17
|
def instanceMethod(self, x: int, y: int) -> int:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from abc import ABC
|
2
2
|
from orionis.luminate.support.inspection.reflection import Reflection
|
3
|
-
from orionis.luminate.test.
|
3
|
+
from orionis.luminate.test.case import TestCase
|
4
4
|
from tests.support.inspection.fakes.fake_reflection_abstract import FakeAbstractClass
|
5
5
|
|
6
6
|
class TestReflexionAbstract(TestCase):
|
@@ -41,6 +41,24 @@ class TestReflexionAbstract(TestCase):
|
|
41
41
|
self.assertTrue(module_name == 'tests.support.inspection.fakes.fake_reflection_abstract')
|
42
42
|
self.assertIsInstance(module_name, str)
|
43
43
|
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
44
62
|
async def testReflectionAbstractGetAbstractMethods(self):
|
45
63
|
"""Test getAbstractMethods() method.
|
46
64
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from orionis.luminate.support.inspection.reflection import Reflection
|
2
2
|
from orionis.luminate.support.inspection.reflexion_concrete import ReflexionConcrete
|
3
|
-
from orionis.luminate.test.
|
3
|
+
from orionis.luminate.test.case import TestCase
|
4
4
|
from tests.support.inspection.fakes.fake_reflection_concrete import BaseExample, FakeExample
|
5
5
|
|
6
6
|
class TestReflectionConcrete(TestCase):
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from orionis.luminate.support.inspection.reflexion_concrete_with_abstract import ReflexionConcreteWithAbstract
|
2
|
-
from orionis.luminate.test.
|
2
|
+
from orionis.luminate.test.case import TestCase
|
3
3
|
from tests.support.inspection.fakes.fake_reflection_concrete_with_abstract import AbstractService, PartiallyImplementedService
|
4
4
|
|
5
5
|
class TestReflexionConcreteWithAbstract(TestCase):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from orionis.luminate.support.inspection.reflection import Reflection
|
2
|
-
from orionis.luminate.support.inspection.
|
3
|
-
from orionis.luminate.test.
|
2
|
+
from orionis.luminate.support.inspection.reflection_instance import ReflectionInstance
|
3
|
+
from orionis.luminate.test.case import TestCase
|
4
4
|
from tests.support.inspection.fakes.fake_reflection_instance import BaseFakeClass, FakeClass
|
5
5
|
import asyncio
|
6
6
|
|
@@ -15,8 +15,8 @@ class TestReflectionInstance(TestCase):
|
|
15
15
|
Reflection.instance(str)
|
16
16
|
|
17
17
|
async def testReflectionInstance(self):
|
18
|
-
"""Verify Reflection.instance returns an instance of
|
19
|
-
self.assertIsInstance(Reflection.instance(FakeClass()),
|
18
|
+
"""Verify Reflection.instance returns an instance of ReflectionInstance."""
|
19
|
+
self.assertIsInstance(Reflection.instance(FakeClass()), ReflectionInstance)
|
20
20
|
|
21
21
|
async def testReflectionInstanceGetClassName(self):
|
22
22
|
"""Check that getClassName returns the correct class name."""
|
@@ -33,14 +33,50 @@ class TestReflectionInstance(TestCase):
|
|
33
33
|
reflex = Reflection.instance(FakeClass())
|
34
34
|
self.assertEqual(reflex.getModuleName(), "tests.support.inspection.fakes.fake_reflection_instance")
|
35
35
|
|
36
|
+
async def testReflectionInstanceGetAllAttributes(self):
|
37
|
+
"""Check that getAllAttributes returns all attributes of the class."""
|
38
|
+
reflex = Reflection.instance(FakeClass())
|
39
|
+
attributes = reflex.getAllAttributes()
|
40
|
+
self.assertTrue("public_attr" in attributes.public)
|
41
|
+
self.assertTrue("__private_attr" in attributes.private)
|
42
|
+
self.assertTrue("_protected_attr" in attributes.protected)
|
43
|
+
|
36
44
|
async def testReflectionInstanceGetAttributes(self):
|
37
45
|
"""Check that getAttributes returns all attributes of the class."""
|
38
46
|
reflex = Reflection.instance(FakeClass())
|
39
47
|
attributes = reflex.getAttributes()
|
40
48
|
self.assertTrue("public_attr" in attributes)
|
41
|
-
self.assertTrue("
|
49
|
+
self.assertTrue("__private_attr" in attributes)
|
42
50
|
self.assertTrue("dynamic_attr" in attributes)
|
43
51
|
|
52
|
+
async def testReflectionInstanceGetPublicAttributes(self):
|
53
|
+
"""Ensure getPublicAttributes returns all public attributes."""
|
54
|
+
reflex = Reflection.instance(FakeClass())
|
55
|
+
attributes = reflex.getPublicAttributes()
|
56
|
+
self.assertTrue("public_attr" in attributes)
|
57
|
+
self.assertTrue("dynamic_attr" in attributes)
|
58
|
+
|
59
|
+
async def testReflectionInstanceGetProtectedAttributes(self):
|
60
|
+
"""Check that getProtectedAttributes returns all protected attributes."""
|
61
|
+
reflex = Reflection.instance(FakeClass())
|
62
|
+
attributes = reflex.getProtectedAttributes()
|
63
|
+
self.assertTrue("_protected_attr" in attributes)
|
64
|
+
|
65
|
+
async def testReflectionInstanceGetPrivateAttributes(self):
|
66
|
+
"""Ensure getPrivateAttributes returns all private attributes."""
|
67
|
+
reflex = Reflection.instance(FakeClass())
|
68
|
+
attributes = reflex.getPrivateAttributes()
|
69
|
+
self.assertTrue("__private_attr" in attributes)
|
70
|
+
|
71
|
+
async def testReflectionInstanceGetAllMethods(self):
|
72
|
+
"""Check that getAllMethods returns all methods of the class."""
|
73
|
+
reflex = Reflection.instance(FakeClass())
|
74
|
+
methods = reflex.getAllMethods()
|
75
|
+
self.assertTrue("__privateMethod" in methods.private)
|
76
|
+
self.assertTrue("_protectedMethod" in methods.protected)
|
77
|
+
self.assertTrue("asyncMethod" in methods.asynchronous)
|
78
|
+
self.assertTrue("classMethod" in methods.class_methods)
|
79
|
+
|
44
80
|
async def testReflectionInstanceGetMethods(self):
|
45
81
|
"""Ensure getMethods returns all methods of the class."""
|
46
82
|
reflex = Reflection.instance(FakeClass())
|
@@ -75,7 +111,6 @@ class TestReflectionInstance(TestCase):
|
|
75
111
|
methods = reflex.getSyncMethods()
|
76
112
|
self.assertTrue("__privateMethod" in methods)
|
77
113
|
self.assertTrue("_protectedMethod" in methods)
|
78
|
-
self.assertTrue("classMethod" in methods)
|
79
114
|
self.assertTrue("instanceMethod" in methods)
|
80
115
|
|
81
116
|
async def testReflectionInstanceGetClassMethods(self):
|
@@ -103,6 +138,12 @@ class TestReflectionInstance(TestCase):
|
|
103
138
|
methods = reflex.getSyncStaticMethods()
|
104
139
|
self.assertTrue("staticMethod" in methods)
|
105
140
|
|
141
|
+
async def testReflectionInstanceGetAllProperties(self):
|
142
|
+
"""Check that getAllProperties returns all properties of the class."""
|
143
|
+
reflex = Reflection.instance(FakeClass())
|
144
|
+
properties = reflex.getAllProperties()
|
145
|
+
self.assertTrue("computed_property" in properties.keys())
|
146
|
+
|
106
147
|
async def testReflectionInstanceGetPropertyNames(self):
|
107
148
|
"""Check that getPropertyNames returns all property names."""
|
108
149
|
reflex = Reflection.instance(FakeClass())
|
@@ -115,15 +156,23 @@ class TestReflectionInstance(TestCase):
|
|
115
156
|
property_value = reflex.getProperty("computed_property")
|
116
157
|
self.assertEqual(property_value, "Value: 42")
|
117
158
|
|
159
|
+
async def testReflectionInstanceGetPropertyDoc(self):
|
160
|
+
"""Check that getPropertyDoc returns the correct property docstring."""
|
161
|
+
reflex = Reflection.instance(FakeClass())
|
162
|
+
doc = reflex.getPropertyDoc("computed_property")
|
163
|
+
self.assertIn("A computed property", doc)
|
164
|
+
|
165
|
+
async def testReflectionInstanceGetPropertySignature(self):
|
166
|
+
"""Ensure getPropertySignature returns the correct property signature."""
|
167
|
+
reflex = Reflection.instance(FakeClass())
|
168
|
+
signature = reflex.getPropertySignature("computed_property")
|
169
|
+
self.assertEqual(str(signature), "(self) -> str")
|
170
|
+
|
118
171
|
async def testReflectionInstanceCallMethod(self):
|
119
172
|
"""Ensure callMethod correctly invokes a method with arguments."""
|
120
173
|
reflex = Reflection.instance(FakeClass())
|
121
|
-
|
122
|
-
# Execute Sync Method
|
123
174
|
result = reflex.callMethod("instanceMethod", 1, 2)
|
124
175
|
self.assertEqual(result, 3)
|
125
|
-
|
126
|
-
# Execute Async Method
|
127
176
|
result = await reflex.callMethod("asyncMethod")
|
128
177
|
self.assertEqual(result, "This is async")
|
129
178
|
|
@@ -139,7 +188,7 @@ class TestReflectionInstance(TestCase):
|
|
139
188
|
"""Check that getDocstring returns the correct class docstring."""
|
140
189
|
reflex = Reflection.instance(FakeClass())
|
141
190
|
docstring = reflex.getDocstring()
|
142
|
-
self.assertIn("This is a test class for
|
191
|
+
self.assertIn("This is a test class for", docstring)
|
143
192
|
|
144
193
|
async def testReflectionInstanceGetBaseClasses(self):
|
145
194
|
"""Ensure getBaseClasses returns the correct base classes."""
|
@@ -182,6 +231,8 @@ class TestReflectionInstance(TestCase):
|
|
182
231
|
reflex = Reflection.instance(FakeClass())
|
183
232
|
attr_value = reflex.getAttribute("public_attr")
|
184
233
|
self.assertEqual(attr_value, 42)
|
234
|
+
attr_value = reflex.getAttribute("__private_attr")
|
235
|
+
self.assertEqual(attr_value, "private")
|
185
236
|
|
186
237
|
async def testReflectionInstanceSetAttribute(self):
|
187
238
|
"""Check that setAttribute correctly sets a new attribute."""
|
@@ -189,6 +240,9 @@ class TestReflectionInstance(TestCase):
|
|
189
240
|
reflex.setAttribute("new_attr", 'Orionis')
|
190
241
|
attr_value = reflex.getAttribute("new_attr")
|
191
242
|
self.assertEqual(attr_value, 'Orionis')
|
243
|
+
reflex.setAttribute("__new_private_attr", 'Hidden')
|
244
|
+
attr_value = reflex.getAttribute("__new_private_attr")
|
245
|
+
self.assertEqual(attr_value, 'Hidden')
|
192
246
|
|
193
247
|
async def testReflectionInstanceRemoveAttribute(self):
|
194
248
|
"""Ensure removeAttribute correctly removes an attribute."""
|
@@ -204,6 +258,8 @@ class TestReflectionInstance(TestCase):
|
|
204
258
|
return cls.instanceMethod(10, 12) + num
|
205
259
|
def syncMacro(cls: FakeClass, num):
|
206
260
|
return cls.instanceMethod(10, 12) + num
|
261
|
+
def __privateMacro(cls: FakeClass, num):
|
262
|
+
return cls.instanceMethod(10, 12) + num
|
207
263
|
|
208
264
|
reflex = Reflection.instance(FakeClass())
|
209
265
|
|
@@ -215,6 +271,10 @@ class TestReflectionInstance(TestCase):
|
|
215
271
|
result = reflex.callMethod("syncMacro", reflex._instance, 3)
|
216
272
|
self.assertEqual(result, 25)
|
217
273
|
|
274
|
+
reflex.setMacro("__privateMacro", __privateMacro)
|
275
|
+
result = reflex.callMethod("__privateMacro", reflex._instance, 3)
|
276
|
+
self.assertEqual(result, 25)
|
277
|
+
|
218
278
|
async def testReflectionInstanceRemoveMacro(self):
|
219
279
|
"""Ensure removeMacro correctly removes a macro."""
|
220
280
|
async def asyncMacro(cls: FakeClass, num):
|
@@ -226,8 +286,3 @@ class TestReflectionInstance(TestCase):
|
|
226
286
|
reflex.removeMacro("asyncMacro")
|
227
287
|
with self.assertRaises(Exception):
|
228
288
|
await reflex.callMethod("asyncMacro", reflex._instance, 3)
|
229
|
-
|
230
|
-
def testReflectionInstanceGetPropertySignature(self):
|
231
|
-
"""Ensure getPropertySignature returns the correct property signature."""
|
232
|
-
signature = Reflection.instance(FakeClass()).getPropertySignature('computed_property')
|
233
|
-
self.assertEqual(str(signature), '(self) -> str')
|
@@ -1,5 +1,5 @@
|
|
1
1
|
from orionis.luminate.support.inspection.reflexion_instance_with_abstract import ReflexionInstanceWithAbstract
|
2
|
-
from orionis.luminate.test.
|
2
|
+
from orionis.luminate.test.case import TestCase
|
3
3
|
from tests.support.inspection.fakes.fake_reflection_instance_with_abstract import FakeDataProcessor, IDataProcessor
|
4
4
|
|
5
5
|
class TestReflexionInstanceWithAbstract(TestCase):
|