@@ -21,6 +21,7 @@ import org.koin.example.test.include.IncludedComponent
21
21
import org.koin.example.test.scope.*
22
22
import org.koin.ksp.generated.module
23
23
import org.koin.mp.KoinPlatformTools
24
+ import kotlin.test.*
24
25
import kotlin.time.measureTime
25
26
26
27
class CoffeeAppTest {
@@ -72,8 +73,48 @@ class CoffeeAppTest {
72
73
73
74
assert (scopeS.getOrNull<AdditionalTypeScope2 >() != null )
74
75
75
- koin.createScope(" _ID2_" , named(MY_SCOPE_SESSION ))
76
- .get<MyScopedSessionComponent >()
76
+ val myScopeSession = koin.createScope(" _ID2_" , named(MY_SCOPE_SESSION ))
77
+ assertNotNull(myScopeSession.getOrNull<MyScopedSessionComponent >())
78
+
79
+ // BEGIN MUltiScope
80
+ val myAnotherScope = MyAnotherScope ()
81
+ val anotherScopeS = koin.createScope(" _ID3_" , named<MyAnotherScope >(), myAnotherScope)
82
+ assertEquals(myScope, scopeS.get<MyScopedComponentMultiScope >().myScope.value)
83
+ assertFails { scopeS.get<MyScopedComponentMultiScope >().myAnotherScope.value }
84
+ assertEquals(myAnotherScope, anotherScopeS.get<MyScopedComponentMultiScope >().myAnotherScope.value)
85
+ assertFails { anotherScopeS.get<MyScopedComponentMultiScope >().myScope.value }
86
+
87
+ assertEquals(myScope, scopeS.get<MyScopedComponentMultiScope2 >().myScope.value)
88
+ assertFails { scopeS.get<MyScopedComponentMultiScope2 >().myAnotherScope.value }
89
+ assertEquals(myAnotherScope, anotherScopeS.get<MyScopedComponentMultiScope2 >().myAnotherScope.value)
90
+ assertFails { anotherScopeS.get<MyScopedComponentMultiScope2 >().myScope.value }
91
+
92
+ assertEquals(myScope, scopeS.get<MyScopedComponentMultiScope3 >().myScope.value)
93
+ assertFails { scopeS.get<MyScopedComponentMultiScope3 >().myAnotherScope.value }
94
+ assertEquals(myAnotherScope, anotherScopeS.get<MyScopedComponentMultiScope3 >().myAnotherScope.value)
95
+ assertFails { anotherScopeS.get<MyScopedComponentMultiScope3 >().myScope.value }
96
+ assertNotEquals(scopeS.get<MyScopedComponentMultiScope3 >(), scopeS.get<MyScopedComponentMultiScope3 >())
97
+ assertNotEquals(anotherScopeS.get<MyScopedComponentMultiScope3 >(), anotherScopeS.get<MyScopedComponentMultiScope3 >())
98
+
99
+ assertEquals(myScope, scopeS.get<MyScopedComponentMultiScope4 >().myScope.value)
100
+ assertFails { scopeS.get<MyScopedComponentMultiScope4 >().myAnotherScope.value }
101
+ assertEquals(myAnotherScope, anotherScopeS.get<MyScopedComponentMultiScope4 >().myAnotherScope.value)
102
+ assertFails { anotherScopeS.get<MyScopedComponentMultiScope4 >().myScope.value }
103
+ assertNotEquals(scopeS.get<MyScopedComponentMultiScope4 >(), scopeS.get<MyScopedComponentMultiScope4 >())
104
+ assertNotEquals(anotherScopeS.get<MyScopedComponentMultiScope4 >(), anotherScopeS.get<MyScopedComponentMultiScope4 >())
105
+
106
+ assertNotNull(scopeS.getOrNull<AdditionalTypeMultiScope >())
107
+ assertNotNull(anotherScopeS.getOrNull<AdditionalTypeMultiScope >())
108
+
109
+ assertNotNull(scopeS.getOrNull<AdditionalTypeMultiScope2 >())
110
+ assertSame(scopeS.getOrNull<AdditionalTypeMultiScope2 >(), scopeS.getOrNull<MyScopedComponentMultiScope5 >())
111
+ assertNotNull(anotherScopeS.getOrNull<AdditionalTypeMultiScope2 >())
112
+ assertSame(anotherScopeS.getOrNull<AdditionalTypeMultiScope2 >(), anotherScopeS.getOrNull<MyScopedComponentMultiScope5 >())
113
+
114
+ assertNotNull(myScopeSession.getOrNull<MyScopedSessionComponentMultiScope >())
115
+ val myScopeSession2 = koin.createScope(" _ID4_" , named(MY_SCOPE_SESSION2 ))
116
+ assertNotNull(myScopeSession2.getOrNull<MyScopedSessionComponentMultiScope >())
117
+ // END MUltiScope
77
118
78
119
assert (koin.get<TestComponentConsumer3 >{ parametersOf(null ) }.id == null )
79
120
assert (koin.get<TestComponentConsumer3 >{ parametersOf(" 42" ) }.id == " 42" )
0 commit comments