Skip to content

Commit 1cc94e9

Browse files
committed
Fix aggregate.py
1 parent 18e3252 commit 1cc94e9

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

tests/typing/aggregate.py

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from dependency_injector import providers
2+
from typing_extensions import assert_type, Any
23

34

45
class Animal: ...
@@ -8,29 +9,36 @@ class Cat(Animal): ...
89

910

1011
# Test 1: to check Aggregate provider
11-
provider1: providers.Aggregate[str] = providers.Aggregate(
12+
provider1 = providers.Aggregate(
1213
a=providers.Object("str1"),
1314
b=providers.Object("str2"),
1415
)
15-
provider_a_1: providers.Provider[str] = provider1.a
16+
provider_a_1 = provider1.a
1617
provider_b_1: providers.Provider[str] = provider1.b
17-
val1: str = provider1("a")
18+
val1 = provider1("a")
19+
assert_type(provider1, providers.Aggregate[str])
20+
assert_type(provider_a_1, providers.Provider[str])
21+
assert_type(provider_b_1, providers.Provider[str])
22+
assert_type(val1, str)
1823

19-
provider1_set_non_string_keys: providers.Aggregate[str] = providers.Aggregate()
24+
provider1_set_non_string_keys = providers.Aggregate[str]()
2025
provider1_set_non_string_keys.set_providers({Cat: providers.Object("str")})
21-
provider_set_non_string_1: providers.Provider[str] = (
22-
provider1_set_non_string_keys.providers[Cat]
23-
)
26+
provider_set_non_string_1 = provider1_set_non_string_keys.providers[Cat]
27+
assert_type(provider_set_non_string_1, providers.Provider[str])
28+
2429

25-
provider1_new_non_string_keys: providers.Aggregate[str] = providers.Aggregate(
30+
# TODO: Change providers.Aggregate to accept Mapping? Then remove explicit typing here
31+
provider1_new_non_string_keys = providers.Aggregate[str](
2632
{Cat: providers.Object("str")},
2733
)
28-
factory_new_non_string_1: providers.Provider[str] = (
29-
provider1_new_non_string_keys.providers[Cat]
30-
)
34+
factory_new_non_string_1 = provider1_new_non_string_keys.providers[Cat]
35+
assert_type(provider1_new_non_string_keys, providers.Aggregate[str])
36+
assert_type(factory_new_non_string_1, providers.Provider[str])
37+
3138

3239
provider1_no_explicit_typing = providers.Aggregate(a=providers.Object("str"))
33-
provider1_no_explicit_typing_factory: providers.Provider[str] = (
34-
provider1_no_explicit_typing.providers["a"]
35-
)
36-
provider1_no_explicit_typing_object: str = provider1_no_explicit_typing("a")
40+
provider1_no_explicit_typing_factory = provider1_no_explicit_typing.providers["a"]
41+
provider1_no_explicit_typing_object = provider1_no_explicit_typing("a")
42+
43+
assert_type(provider1_no_explicit_typing_factory, providers.Provider[str])
44+
assert_type(provider1_no_explicit_typing_object, str)

0 commit comments

Comments
 (0)