Skip to content

Commit 95a9d46

Browse files
committed
Migrate Hamcrest assertions to AssertJ
Migrate all existing `assertThat(..., Matcher)` assertions to AssertJ and add checkstyle rules to ensure they don't return. See gh-23022
1 parent 2294625 commit 95a9d46

File tree

322 files changed

+4374
-4830
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

322 files changed

+4374
-4830
lines changed

spring-aop/src/test/java/org/springframework/aop/aspectj/annotation/AbstractAspectJAdvisorFactoryTests.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,10 @@
5858
import org.springframework.tests.sample.beans.TestBean;
5959
import org.springframework.util.ObjectUtils;
6060

61+
import static org.assertj.core.api.Assertions.assertThat;
6162
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
6263
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
6364
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
64-
import static org.hamcrest.MatcherAssert.assertThat;
65-
import static org.hamcrest.Matchers.instanceOf;
6665
import static org.junit.Assert.assertEquals;
6766
import static org.junit.Assert.assertFalse;
6867
import static org.junit.Assert.assertNotSame;
@@ -384,7 +383,7 @@ public void testIntroductionOnTargetImplementingInterface() {
384383
CannotBeUnlocked.class
385384
),
386385
CannotBeUnlocked.class);
387-
assertThat(proxy, instanceOf(Lockable.class));
386+
assertThat(proxy).isInstanceOf(Lockable.class);
388387
Lockable lockable = proxy;
389388
assertTrue("Already locked", lockable.locked());
390389
lockable.lock();
@@ -429,7 +428,7 @@ public void testIntroductionWithArgumentBinding() {
429428
new SingletonMetadataAwareAspectInstanceFactory(new MakeLockable(), "someBean")));
430429

431430
Modifiable modifiable = (Modifiable) createProxy(target, advisors, ITestBean.class);
432-
assertThat(modifiable, instanceOf(Modifiable.class));
431+
assertThat(modifiable).isInstanceOf(Modifiable.class);
433432
Lockable lockable = (Lockable) modifiable;
434433
assertFalse(lockable.locked());
435434

spring-aop/src/test/java/org/springframework/aop/framework/ProxyFactoryTests.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,8 @@
4242
import org.springframework.tests.sample.beans.ITestBean;
4343
import org.springframework.tests.sample.beans.TestBean;
4444

45+
import static org.assertj.core.api.Assertions.assertThat;
4546
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
46-
import static org.hamcrest.CoreMatchers.instanceOf;
47-
import static org.hamcrest.MatcherAssert.assertThat;
4847
import static org.junit.Assert.assertEquals;
4948
import static org.junit.Assert.assertFalse;
5049
import static org.junit.Assert.assertNull;
@@ -187,7 +186,7 @@ public long getTimeStamp() {
187186
// This call should be ignored without error
188187
pf.addInterface(TimeStamped.class);
189188
// All cool
190-
assertThat(pf.getProxy(), instanceOf(TimeStamped.class));
189+
assertThat(pf.getProxy()).isInstanceOf(TimeStamped.class);
191190
}
192191

193192
@Test
@@ -204,8 +203,7 @@ public int compareTo(Object arg0) {
204203
//System.out.println("Proxied interfaces are " + StringUtils.arrayToDelimitedString(factory.getProxiedInterfaces(), ","));
205204
assertEquals("Found correct number of interfaces", 5, factory.getProxiedInterfaces().length);
206205
ITestBean tb = (ITestBean) factory.getProxy();
207-
assertThat("Picked up secondary interface", tb, instanceOf(IOther.class));
208-
206+
assertThat(tb).as("Picked up secondary interface").isInstanceOf(IOther.class);
209207
raw.setAge(25);
210208
assertTrue(tb.getAge() == raw.getAge());
211209

@@ -238,7 +236,7 @@ public Object invoke(MethodInvocation invocation) throws Throwable {
238236
NopInterceptor diUnused = new NopInterceptor();
239237
ProxyFactory factory = new ProxyFactory(new TestBean());
240238
factory.addAdvice(0, di);
241-
assertThat(factory.getProxy(), instanceOf(ITestBean.class));
239+
assertThat(factory.getProxy()).isInstanceOf(ITestBean.class);
242240
assertTrue(factory.adviceIncluded(di));
243241
assertTrue(!factory.adviceIncluded(diUnused));
244242
assertTrue(factory.countAdvicesOfType(NopInterceptor.class) == 1);

spring-aop/src/test/java/org/springframework/aop/support/DelegatingIntroductionInterceptorTests.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,8 @@
3434
import org.springframework.tests.sample.beans.TestBean;
3535
import org.springframework.util.SerializationTestUtils;
3636

37+
import static org.assertj.core.api.Assertions.assertThat;
3738
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
38-
import static org.hamcrest.MatcherAssert.assertThat;
39-
import static org.hamcrest.Matchers.instanceOf;
4039
import static org.junit.Assert.assertEquals;
4140
import static org.junit.Assert.assertSame;
4241
import static org.junit.Assert.assertTrue;
@@ -162,7 +161,7 @@ public long getTimeStamp() {
162161
//assertTrue(Arrays.binarySearch(pf.getProxiedInterfaces(), TimeStamped.class) != -1);
163162
TimeStamped ts = (TimeStamped) pf.getProxy();
164163

165-
assertThat(ts, instanceOf(TimeStamped.class));
164+
assertThat(ts).isInstanceOf(TimeStamped.class);
166165
// Shouldn't proxy framework interfaces
167166
assertTrue(!(ts instanceof MethodInterceptor));
168167
assertTrue(!(ts instanceof IntroductionInterceptor));

spring-aspects/src/test/java/org/springframework/scheduling/aspectj/AnnotationAsyncExecutionAspectTests.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@
3838
import org.springframework.util.ReflectionUtils;
3939
import org.springframework.util.concurrent.ListenableFuture;
4040

41-
import static org.hamcrest.CoreMatchers.startsWith;
42-
import static org.hamcrest.MatcherAssert.assertThat;
43-
import static org.hamcrest.Matchers.not;
41+
import static org.assertj.core.api.Assertions.assertThat;
4442
import static org.junit.Assert.assertEquals;
4543
import static org.junit.Assert.assertFalse;
4644

@@ -140,14 +138,14 @@ public void qualifiedAsyncMethodsAreRoutedToCorrectExecutor() throws Interrupted
140138
ClassWithQualifiedAsyncMethods obj = new ClassWithQualifiedAsyncMethods();
141139

142140
Future<Thread> defaultThread = obj.defaultWork();
143-
assertThat(defaultThread.get(), not(Thread.currentThread()));
144-
assertThat(defaultThread.get().getName(), not(startsWith("e1-")));
141+
assertThat(defaultThread.get()).isNotEqualTo(Thread.currentThread());
142+
assertThat(defaultThread.get().getName()).doesNotStartWith("e1-");
145143

146144
ListenableFuture<Thread> e1Thread = obj.e1Work();
147-
assertThat(e1Thread.get().getName(), startsWith("e1-"));
145+
assertThat(e1Thread.get().getName()).startsWith("e1-");
148146

149147
CompletableFuture<Thread> e1OtherThread = obj.e1OtherWork();
150-
assertThat(e1OtherThread.get().getName(), startsWith("e1-"));
148+
assertThat(e1OtherThread.get().getName()).startsWith("e1-");
151149
}
152150

153151
@Test

spring-beans/src/test/java/org/springframework/beans/AbstractPropertyAccessorTests.java

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,6 @@
6161
import static org.assertj.core.api.Assertions.assertThat;
6262
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
6363
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
64-
import static org.hamcrest.CoreMatchers.is;
65-
import static org.hamcrest.CoreMatchers.notNullValue;
66-
import static org.hamcrest.CoreMatchers.nullValue;
67-
import static org.hamcrest.MatcherAssert.assertThat;
68-
import static org.hamcrest.Matchers.equalTo;
6964
import static org.junit.Assert.assertEquals;
7065
import static org.junit.Assert.assertFalse;
7166
import static org.junit.Assert.assertSame;
@@ -98,7 +93,7 @@ public void createWithNullTarget() {
9893
public void isReadableProperty() {
9994
AbstractPropertyAccessor accessor = createAccessor(new Simple("John", 2));
10095

101-
assertThat(accessor.isReadableProperty("name"), is(true));
96+
assertThat(accessor.isReadableProperty("name")).isTrue();
10297
}
10398

10499
@Test
@@ -130,7 +125,7 @@ public void isReadablePropertyNull() {
130125
public void isWritableProperty() {
131126
AbstractPropertyAccessor accessor = createAccessor(new Simple("John", 2));
132127

133-
assertThat(accessor.isWritableProperty("name"), is(true));
128+
assertThat(accessor.isWritableProperty("name")).isTrue();
134129
}
135130

136131
@Test
@@ -198,21 +193,21 @@ public void isReadableWritableForIndexedProperties() {
198193
public void getSimpleProperty() {
199194
Simple target = new Simple("John", 2);
200195
AbstractPropertyAccessor accessor = createAccessor(target);
201-
assertThat(accessor.getPropertyValue("name"), is("John"));
196+
assertThat(accessor.getPropertyValue("name")).isEqualTo("John");
202197
}
203198

204199
@Test
205200
public void getNestedProperty() {
206201
Person target = createPerson("John", "London", "UK");
207202
AbstractPropertyAccessor accessor = createAccessor(target);
208-
assertThat(accessor.getPropertyValue("address.city"), is("London"));
203+
assertThat(accessor.getPropertyValue("address.city")).isEqualTo("London");
209204
}
210205

211206
@Test
212207
public void getNestedDeepProperty() {
213208
Person target = createPerson("John", "London", "UK");
214209
AbstractPropertyAccessor accessor = createAccessor(target);
215-
assertThat(accessor.getPropertyValue("address.country.name"), is("UK"));
210+
assertThat(accessor.getPropertyValue("address.country.name")).isEqualTo("UK");
216211
}
217212

218213
@Test
@@ -291,8 +286,8 @@ public void setSimpleProperty() {
291286

292287
accessor.setPropertyValue("name", "SomeValue");
293288

294-
assertThat(target.name, is("SomeValue"));
295-
assertThat(target.getName(), is("SomeValue"));
289+
assertThat(target.name).isEqualTo("SomeValue");
290+
assertThat(target.getName()).isEqualTo("SomeValue");
296291
}
297292

298293
@Test
@@ -301,7 +296,7 @@ public void setNestedProperty() {
301296
AbstractPropertyAccessor accessor = createAccessor(target);
302297

303298
accessor.setPropertyValue("address.city", "London");
304-
assertThat(target.address.city, is("London"));
299+
assertThat(target.address.city).isEqualTo("London");
305300
}
306301

307302
@Test
@@ -364,7 +359,7 @@ public void setNestedDeepProperty() {
364359
AbstractPropertyAccessor accessor = createAccessor(target);
365360

366361
accessor.setPropertyValue("address.country.name", "UK");
367-
assertThat(target.address.country.name, is("UK"));
362+
assertThat(target.address.country.name).isEqualTo("UK");
368363
}
369364

370365
@Test
@@ -413,7 +408,7 @@ public void setPropertyIntermediatePropertyIsNullWithAutoGrow() {
413408
accessor.setAutoGrowNestedPaths(true);
414409

415410
accessor.setPropertyValue("address.country.name", "UK");
416-
assertThat(target.address.country.name, is("UK"));
411+
assertThat(target.address.country.name).isEqualTo("UK");
417412
}
418413

419414
@SuppressWarnings("AssertEqualsBetweenInconvertibleTypes")
@@ -1108,11 +1103,11 @@ public void setArrayPropertyToObject() {
11081103

11091104
Object[] array = new Object[] {"1", "2"};
11101105
accessor.setPropertyValue("object", array);
1111-
assertThat(target.getObject(), equalTo((Object) array));
1106+
assertThat(target.getObject()).isEqualTo(array);
11121107

11131108
array = new Object[] {"1"};
11141109
accessor.setPropertyValue("object", array);
1115-
assertThat(target.getObject(), equalTo((Object) array));
1110+
assertThat(target.getObject()).isEqualTo(array);
11161111
}
11171112

11181113

@@ -1636,23 +1631,23 @@ public void propertyTypeUnknownProperty() {
16361631
Simple target = new Simple("John", 2);
16371632
AbstractPropertyAccessor accessor = createAccessor(target);
16381633

1639-
assertThat(accessor.getPropertyType("foo"), is(nullValue()));
1634+
assertThat(accessor.getPropertyType("foo")).isNull();
16401635
}
16411636

16421637
@Test
16431638
public void propertyTypeDescriptor() {
16441639
Person target = createPerson("John", "Paris", "FR");
16451640
AbstractPropertyAccessor accessor = createAccessor(target);
16461641

1647-
assertThat(accessor.getPropertyTypeDescriptor("address.city"), is(notNullValue()));
1642+
assertThat(accessor.getPropertyTypeDescriptor("address.city")).isNotNull();
16481643
}
16491644

16501645
@Test
16511646
public void propertyTypeDescriptorUnknownProperty() {
16521647
Simple target = new Simple("John", 2);
16531648
AbstractPropertyAccessor accessor = createAccessor(target);
16541649

1655-
assertThat(accessor.getPropertyTypeDescriptor("foo"), is(nullValue()));
1650+
assertThat(accessor.getPropertyTypeDescriptor("foo")).isNull();
16561651
}
16571652

16581653
@Test

spring-beans/src/test/java/org/springframework/beans/BeanWrapperAutoGrowingTests.java

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@
2222
import org.junit.Before;
2323
import org.junit.Test;
2424

25+
import static org.assertj.core.api.Assertions.assertThat;
2526
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
26-
import static org.hamcrest.MatcherAssert.assertThat;
27-
import static org.hamcrest.Matchers.instanceOf;
2827
import static org.junit.Assert.assertEquals;
2928
import static org.junit.Assert.assertNotNull;
3029
import static org.junit.Assert.assertNull;
@@ -67,7 +66,7 @@ public void getPropertyValueNullValueInNestedPathNoDefaultConstructor() {
6766
public void getPropertyValueAutoGrowArray() {
6867
assertNotNull(wrapper.getPropertyValue("array[0]"));
6968
assertEquals(1, bean.getArray().length);
70-
assertThat(bean.getArray()[0], instanceOf(Bean.class));
69+
assertThat(bean.getArray()[0]).isInstanceOf(Bean.class);
7170
}
7271

7372
@Test
@@ -80,11 +79,11 @@ public void setPropertyValueAutoGrowArray() {
8079
public void getPropertyValueAutoGrowArrayBySeveralElements() {
8180
assertNotNull(wrapper.getPropertyValue("array[4]"));
8281
assertEquals(5, bean.getArray().length);
83-
assertThat(bean.getArray()[0], instanceOf(Bean.class));
84-
assertThat(bean.getArray()[1], instanceOf(Bean.class));
85-
assertThat(bean.getArray()[2], instanceOf(Bean.class));
86-
assertThat(bean.getArray()[3], instanceOf(Bean.class));
87-
assertThat(bean.getArray()[4], instanceOf(Bean.class));
82+
assertThat(bean.getArray()[0]).isInstanceOf(Bean.class);
83+
assertThat(bean.getArray()[1]).isInstanceOf(Bean.class);
84+
assertThat(bean.getArray()[2]).isInstanceOf(Bean.class);
85+
assertThat(bean.getArray()[3]).isInstanceOf(Bean.class);
86+
assertThat(bean.getArray()[4]).isInstanceOf(Bean.class);
8887
assertNotNull(wrapper.getPropertyValue("array[0]"));
8988
assertNotNull(wrapper.getPropertyValue("array[1]"));
9089
assertNotNull(wrapper.getPropertyValue("array[2]"));
@@ -95,14 +94,14 @@ public void getPropertyValueAutoGrowArrayBySeveralElements() {
9594
public void getPropertyValueAutoGrowMultiDimensionalArray() {
9695
assertNotNull(wrapper.getPropertyValue("multiArray[0][0]"));
9796
assertEquals(1, bean.getMultiArray()[0].length);
98-
assertThat(bean.getMultiArray()[0][0], instanceOf(Bean.class));
97+
assertThat(bean.getMultiArray()[0][0]).isInstanceOf(Bean.class);
9998
}
10099

101100
@Test
102101
public void getPropertyValueAutoGrowList() {
103102
assertNotNull(wrapper.getPropertyValue("list[0]"));
104103
assertEquals(1, bean.getList().size());
105-
assertThat(bean.getList().get(0), instanceOf(Bean.class));
104+
assertThat(bean.getList().get(0)).isInstanceOf(Bean.class);
106105
}
107106

108107
@Test
@@ -115,11 +114,11 @@ public void setPropertyValueAutoGrowList() {
115114
public void getPropertyValueAutoGrowListBySeveralElements() {
116115
assertNotNull(wrapper.getPropertyValue("list[4]"));
117116
assertEquals(5, bean.getList().size());
118-
assertThat(bean.getList().get(0), instanceOf(Bean.class));
119-
assertThat(bean.getList().get(1), instanceOf(Bean.class));
120-
assertThat(bean.getList().get(2), instanceOf(Bean.class));
121-
assertThat(bean.getList().get(3), instanceOf(Bean.class));
122-
assertThat(bean.getList().get(4), instanceOf(Bean.class));
117+
assertThat(bean.getList().get(0)).isInstanceOf(Bean.class);
118+
assertThat(bean.getList().get(1)).isInstanceOf(Bean.class);
119+
assertThat(bean.getList().get(2)).isInstanceOf(Bean.class);
120+
assertThat(bean.getList().get(3)).isInstanceOf(Bean.class);
121+
assertThat(bean.getList().get(4)).isInstanceOf(Bean.class);
123122
assertNotNull(wrapper.getPropertyValue("list[0]"));
124123
assertNotNull(wrapper.getPropertyValue("list[1]"));
125124
assertNotNull(wrapper.getPropertyValue("list[2]"));
@@ -138,7 +137,7 @@ public void getPropertyValueAutoGrowListFailsAgainstLimit() {
138137
public void getPropertyValueAutoGrowMultiDimensionalList() {
139138
assertNotNull(wrapper.getPropertyValue("multiList[0][0]"));
140139
assertEquals(1, bean.getMultiList().get(0).size());
141-
assertThat(bean.getMultiList().get(0).get(0), instanceOf(Bean.class));
140+
assertThat(bean.getMultiList().get(0).get(0)).isInstanceOf(Bean.class);
142141
}
143142

144143
@Test
@@ -150,13 +149,13 @@ public void getPropertyValueAutoGrowListNotParameterized() {
150149
@Test
151150
public void setPropertyValueAutoGrowMap() {
152151
wrapper.setPropertyValue("map[A]", new Bean());
153-
assertThat(bean.getMap().get("A"), instanceOf(Bean.class));
152+
assertThat(bean.getMap().get("A")).isInstanceOf(Bean.class);
154153
}
155154

156155
@Test
157156
public void setNestedPropertyValueAutoGrowMap() {
158157
wrapper.setPropertyValue("map[A].nested", new Bean());
159-
assertThat(bean.getMap().get("A").getNested(), instanceOf(Bean.class));
158+
assertThat(bean.getMap().get("A").getNested()).isInstanceOf(Bean.class);
160159
}
161160

162161

spring-beans/src/test/java/org/springframework/beans/CachedIntrospectionResultsTests.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@
2525
import org.springframework.core.OverridingClassLoader;
2626
import org.springframework.tests.sample.beans.TestBean;
2727

28-
import static org.hamcrest.CoreMatchers.equalTo;
29-
import static org.hamcrest.CoreMatchers.notNullValue;
30-
import static org.hamcrest.MatcherAssert.assertThat;
28+
import static org.assertj.core.api.Assertions.assertThat;
3129
import static org.junit.Assert.assertFalse;
3230
import static org.junit.Assert.assertTrue;
3331

@@ -87,13 +85,11 @@ class C {
8785
}
8886

8987
// resulting in a property descriptor including the non-standard setFoo method
90-
assertThat(pd, notNullValue());
91-
assertThat(pd.getReadMethod(), equalTo(C.class.getMethod("getFoo")));
92-
assertThat(
93-
"No write method found for non-void returning 'setFoo' method. " +
94-
"Check to see if CachedIntrospectionResults is delegating to " +
95-
"ExtendedBeanInfo as expected",
96-
pd.getWriteMethod(), equalTo(C.class.getMethod("setFoo", String.class)));
88+
assertThat(pd).isNotNull();
89+
assertThat(pd.getReadMethod()).isEqualTo(C.class.getMethod("getFoo"));
90+
// No write method found for non-void returning 'setFoo' method.
91+
// Check to see if CachedIntrospectionResults is delegating to ExtendedBeanInfo as expected
92+
assertThat(pd.getWriteMethod()).isEqualTo(C.class.getMethod("setFoo", String.class));
9793
}
9894

9995
}

0 commit comments

Comments
 (0)