@@ -272,28 +272,15 @@ class MapMultibindingTest {
272
272
}
273
273
274
274
@Test
275
- fun `override map multibinding elements with different keys but same toString` () {
275
+ fun `get exception when overriding map multibinding elements with different keys but same toString` () {
276
276
data class MapKey (
277
277
val name : String ,
278
278
val value : Int ,
279
279
) {
280
280
override fun toString (): String = name
281
281
}
282
282
283
- val app = koinApplication {
284
- modules(
285
- module {
286
- declareMapMultibinding<MapKey , Simple .ComponentInterface1 > {
287
- intoMap(MapKey (keyOfComponent1, 1 )) { component1 }
288
- }
289
- },
290
- )
291
- }
292
- val koin = app.koin
293
- val rootMap: Map <MapKey , Simple .ComponentInterface1 > = koin.getMapMultibinding()
294
- assertEquals(1 , rootMap.size)
295
- assertEquals(component1, rootMap[MapKey (keyOfComponent1, 1 )])
296
- assertNull(rootMap[MapKey (keyOfComponent1, 2 )])
283
+ // declare in same module
297
284
module {
298
285
declareMapMultibinding<MapKey , Simple .ComponentInterface1 > {
299
286
intoMap(MapKey (keyOfComponent1, 1 )) { component1 }
@@ -302,6 +289,19 @@ class MapMultibindingTest {
302
289
}
303
290
}
304
291
}
292
+ // declare in different modules
293
+ module {
294
+ declareMapMultibinding<MapKey , Simple .ComponentInterface1 > {
295
+ intoMap(MapKey (keyOfComponent2, 1 )) { component1 }
296
+ }
297
+ }
298
+ module {
299
+ declareMapMultibinding<MapKey , Simple .ComponentInterface1 > {
300
+ assertFailsWith(MapMultibindingKeyTypeException ::class ) {
301
+ intoMap(MapKey (keyOfComponent2, 2 )) { component1 }
302
+ }
303
+ }
304
+ }
305
305
}
306
306
307
307
@Test
0 commit comments