1
1
/*
2
- * Copyright 2002-2023 the original author or authors.
2
+ * Copyright 2002-2025 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -19,13 +19,15 @@ package org.springframework.beans.factory
19
19
import io.mockk.every
20
20
import io.mockk.mockk
21
21
import io.mockk.verify
22
+ import org.assertj.core.api.Assertions.assertThat
22
23
import org.junit.jupiter.api.Test
23
24
import org.springframework.core.ResolvableType
24
25
25
26
/* *
26
27
* Mock object based tests for BeanFactory Kotlin extensions.
27
28
*
28
29
* @author Sebastien Deleuze
30
+ * @author Yanming Zhou
29
31
*/
30
32
class BeanFactoryExtensionsTests {
31
33
@@ -35,10 +37,18 @@ class BeanFactoryExtensionsTests {
35
37
fun `getBean with reified type parameters` () {
36
38
val foo = Foo ()
37
39
every { bf.getBeanProvider<Foo >(ofType<ResolvableType >()).getObject() } returns foo
38
- bf.getBean<Foo >()
40
+ assertThat( bf.getBean<Foo >()).isSameAs(foo )
39
41
verify { bf.getBeanProvider<ObjectProvider <Foo >>(ofType<ResolvableType >()).getObject() }
40
42
}
41
43
44
+ @Test
45
+ fun `getBean with reified generic type parameters` () {
46
+ val foo = listOf (Foo ())
47
+ every { bf.getBeanProvider<List <Foo >>(ofType<ResolvableType >()).getObject() } returns foo
48
+ assertThat(bf.getBean<List <Foo >>()).isSameAs(foo)
49
+ verify { bf.getBeanProvider<ObjectProvider <List <Foo >>>(ofType<ResolvableType >()).getObject() }
50
+ }
51
+
42
52
@Test
43
53
fun `getBean with String and reified type parameters` () {
44
54
val name = " foo"
@@ -52,7 +62,7 @@ class BeanFactoryExtensionsTests {
52
62
val arg2 = " arg2"
53
63
val bar = Bar (arg1, arg2)
54
64
every { bf.getBeanProvider<Bar >(ofType<ResolvableType >()).getObject(arg1, arg2) } returns bar
55
- bf.getBean<Bar >(arg1, arg2)
65
+ assertThat( bf.getBean<Bar >(arg1, arg2)).isSameAs(bar )
56
66
verify { bf.getBeanProvider<Bar >(ofType<ResolvableType >()).getObject(arg1, arg2) }
57
67
}
58
68
0 commit comments