We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 2049c50 commit b5b9f79Copy full SHA for b5b9f79
tests/test_utils/test_proxy.py
@@ -0,0 +1,23 @@
1
+import operator
2
+from typing import Any
3
+from typing_extensions import override
4
+
5
+from finch._utils import LazyProxy
6
7
8
+class RecursiveLazyProxy(LazyProxy[Any]):
9
+ @override
10
+ def __load__(self) -> Any:
11
+ return self
12
13
+ def __call__(self, *_args: Any, **_kwds: Any) -> Any:
14
+ raise RuntimeError("This should never be called!")
15
16
17
+def test_recursive_proxy() -> None:
18
+ proxy = RecursiveLazyProxy()
19
+ assert repr(proxy) == "RecursiveLazyProxy"
20
+ assert str(proxy) == "RecursiveLazyProxy"
21
+ assert dir(proxy) == []
22
+ assert getattr(type(proxy), "__name__") == "RecursiveLazyProxy"
23
+ assert type(operator.attrgetter("name.foo.bar.baz")(proxy)).__name__ == "RecursiveLazyProxy"
0 commit comments