1
1
package dev.omkartenkale.nodal
2
2
3
+ import dev.omkartenkale.nodal.exceptions.DependencyInstantiationException
3
4
import dev.omkartenkale.nodal.exceptions.DependencyNotFoundException
4
- import dev.omkartenkale.nodal.exceptions.DependencyRedeclarationException
5
- import dev.omkartenkale.nodal.exceptions.NodeCreationException
6
- import dev.omkartenkale.nodal.plugin.NodalPlugins
7
5
import dev.omkartenkale.nodal.util.MainDispatcherRule
8
- import dev.omkartenkale.nodal.util.assertDoesNotThrowException
9
- import dev.omkartenkale.nodal.util.assertNestedException
10
- import kotlinx.coroutines.ExperimentalCoroutinesApi
11
- import kotlinx.coroutines.test.currentTime
12
6
import kotlinx.coroutines.test.runTest
13
- import kotlinx.coroutines.yield
14
- import org.junit.Before
15
7
import org.junit.Rule
16
8
import org.junit.Test
17
9
import kotlin.test.assertEquals
18
10
import kotlin.test.assertFails
19
11
import kotlin.test.assertFailsWith
20
- import kotlin.test.assertNotEquals
12
+ import kotlin.test.assertNotNull
21
13
import kotlin.test.fail
22
14
23
15
class NodeDependenciesTest {
@@ -120,5 +112,33 @@ class NodeDependenciesTest {
120
112
}
121
113
}
122
114
115
+ @Test
116
+ fun `verify parameter dependency can be resolved` (){
117
+ class Foo (val value : Int )
118
+ class Bar (val foo : Foo )
119
+ class RootNode : Node ()
120
+
121
+ val rootNode = Node .createRootNode(klass = RootNode ::class , onRequestRemove = { }) {
122
+ provides { Foo (111 ) }
123
+ provides { Bar (get()) }
124
+ } as RootNode
125
+
126
+ assertEquals(rootNode.dependencies.get<Bar >().foo.value, 111 )
127
+ }
128
+
129
+ @Test
130
+ fun `verify parameter dependency can be resolved if error` (){
131
+ class Foo
132
+ class Bar (val foo : Foo )
133
+ class RootNode : Node ()
134
+
135
+ val rootNode = Node .createRootNode(klass = RootNode ::class , onRequestRemove = { }) {
136
+ provides { Bar (get()) }
137
+ } as RootNode
138
+
139
+ assertFailsWith<DependencyInstantiationException >(){
140
+ rootNode.dependencies.get<Bar >().foo
141
+ }
142
+ }
123
143
124
144
}
0 commit comments