1
1
/*
2
- * Copyright 2002-2021 the original author or authors.
2
+ * Copyright 2002-2023 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.
@@ -53,7 +53,6 @@ public void setup() {
53
53
@ Test
54
54
public void testWithoutConstructorArg () {
55
55
AbstractBean bean = (AbstractBean ) beanFactory .getBean ("abstractBean" );
56
- assertThat (bean ).isNotNull ();
57
56
Object expected = bean .get ();
58
57
assertThat (expected .getClass ()).isEqualTo (TestBean .class );
59
58
assertThat (beanFactory .getBean (BeanConsumer .class ).abstractBean ).isSameAs (bean );
@@ -62,7 +61,6 @@ public void testWithoutConstructorArg() {
62
61
@ Test
63
62
public void testWithOverloadedArg () {
64
63
AbstractBean bean = (AbstractBean ) beanFactory .getBean ("abstractBean" );
65
- assertThat (bean ).isNotNull ();
66
64
TestBean expected = bean .get ("haha" );
67
65
assertThat (expected .getClass ()).isEqualTo (TestBean .class );
68
66
assertThat (expected .getName ()).isEqualTo ("haha" );
@@ -72,7 +70,6 @@ public void testWithOverloadedArg() {
72
70
@ Test
73
71
public void testWithOneConstructorArg () {
74
72
AbstractBean bean = (AbstractBean ) beanFactory .getBean ("abstractBean" );
75
- assertThat (bean ).isNotNull ();
76
73
TestBean expected = bean .getOneArgument ("haha" );
77
74
assertThat (expected .getClass ()).isEqualTo (TestBean .class );
78
75
assertThat (expected .getName ()).isEqualTo ("haha" );
@@ -82,7 +79,6 @@ public void testWithOneConstructorArg() {
82
79
@ Test
83
80
public void testWithTwoConstructorArg () {
84
81
AbstractBean bean = (AbstractBean ) beanFactory .getBean ("abstractBean" );
85
- assertThat (bean ).isNotNull ();
86
82
TestBean expected = bean .getTwoArguments ("haha" , 72 );
87
83
assertThat (expected .getClass ()).isEqualTo (TestBean .class );
88
84
assertThat (expected .getName ()).isEqualTo ("haha" );
@@ -93,7 +89,6 @@ public void testWithTwoConstructorArg() {
93
89
@ Test
94
90
public void testWithThreeArgsShouldFail () {
95
91
AbstractBean bean = (AbstractBean ) beanFactory .getBean ("abstractBean" );
96
- assertThat (bean ).isNotNull ();
97
92
assertThatExceptionOfType (AbstractMethodError .class ).as ("TestBean has no three arg constructor" ).isThrownBy (() ->
98
93
bean .getThreeArguments ("name" , 1 , 2 ));
99
94
assertThat (beanFactory .getBean (BeanConsumer .class ).abstractBean ).isSameAs (bean );
@@ -102,7 +97,6 @@ public void testWithThreeArgsShouldFail() {
102
97
@ Test
103
98
public void testWithEarlyInjection () {
104
99
AbstractBean bean = beanFactory .getBean ("beanConsumer" , BeanConsumer .class ).abstractBean ;
105
- assertThat (bean ).isNotNull ();
106
100
Object expected = bean .get ();
107
101
assertThat (expected .getClass ()).isEqualTo (TestBean .class );
108
102
assertThat (beanFactory .getBean (BeanConsumer .class ).abstractBean ).isSameAs (bean );
@@ -115,7 +109,6 @@ public void testWithNullBean() {
115
109
beanFactory .registerBeanDefinition ("testBean" , tbd );
116
110
117
111
AbstractBean bean = beanFactory .getBean ("beanConsumer" , BeanConsumer .class ).abstractBean ;
118
- assertThat (bean ).isNotNull ();
119
112
Object expected = bean .get ();
120
113
assertThat (expected ).isNull ();
121
114
assertThat (beanFactory .getBean (BeanConsumer .class ).abstractBean ).isSameAs (bean );
@@ -128,7 +121,36 @@ public void testWithGenericBean() {
128
121
beanFactory .registerBeanDefinition ("floatStore" , new RootBeanDefinition (FloatStore .class ));
129
122
130
123
NumberBean bean = (NumberBean ) beanFactory .getBean ("numberBean" );
131
- assertThat (bean ).isNotNull ();
124
+ assertThat (beanFactory .getBean (DoubleStore .class )).isSameAs (bean .getDoubleStore ());
125
+ assertThat (beanFactory .getBean (FloatStore .class )).isSameAs (bean .getFloatStore ());
126
+ }
127
+
128
+ @ Test
129
+ public void testSingletonWithoutMetadataCaching () {
130
+ beanFactory .setCacheBeanMetadata (false );
131
+
132
+ beanFactory .registerBeanDefinition ("numberBean" , new RootBeanDefinition (NumberBean .class ));
133
+ beanFactory .registerBeanDefinition ("doubleStore" , new RootBeanDefinition (DoubleStore .class ));
134
+ beanFactory .registerBeanDefinition ("floatStore" , new RootBeanDefinition (FloatStore .class ));
135
+
136
+ NumberBean bean = (NumberBean ) beanFactory .getBean ("numberBean" );
137
+ assertThat (beanFactory .getBean (DoubleStore .class )).isSameAs (bean .getDoubleStore ());
138
+ assertThat (beanFactory .getBean (FloatStore .class )).isSameAs (bean .getFloatStore ());
139
+ }
140
+
141
+ @ Test
142
+ public void testPrototypeWithoutMetadataCaching () {
143
+ beanFactory .setCacheBeanMetadata (false );
144
+
145
+ beanFactory .registerBeanDefinition ("numberBean" , new RootBeanDefinition (NumberBean .class , BeanDefinition .SCOPE_PROTOTYPE , null ));
146
+ beanFactory .registerBeanDefinition ("doubleStore" , new RootBeanDefinition (DoubleStore .class ));
147
+ beanFactory .registerBeanDefinition ("floatStore" , new RootBeanDefinition (FloatStore .class ));
148
+
149
+ NumberBean bean = (NumberBean ) beanFactory .getBean ("numberBean" );
150
+ assertThat (beanFactory .getBean (DoubleStore .class )).isSameAs (bean .getDoubleStore ());
151
+ assertThat (beanFactory .getBean (FloatStore .class )).isSameAs (bean .getFloatStore ());
152
+
153
+ bean = (NumberBean ) beanFactory .getBean ("numberBean" );
132
154
assertThat (beanFactory .getBean (DoubleStore .class )).isSameAs (bean .getDoubleStore ());
133
155
assertThat (beanFactory .getBean (FloatStore .class )).isSameAs (bean .getFloatStore ());
134
156
}
0 commit comments