Skip to content

Commit dcebefa

Browse files
committed
Make migrated AssertJ assertions idiomatic
The TestNgToAssertj recipe only ports the API: it turns Assert.assertX(cond) into assertThat(cond).isTrue(), so predicate expressions kept the original boolean shape and produced unhelpful "expected true but was false" failures. Run the AssertJ best-practices cleanup (the org.openrewrite.java.testing.assertj.Assertj aggregate, minus the cross-framework migrators so the intentional JUnit-interop fixtures are left untouched) as a one-shot over testng-core's tests. This rewrites predicates to dedicated assertions with proper failure messages, e.g.: assertThat(list.size()).isEqualTo(3) -> assertThat(list).hasSize(3) assertThat(time < 2000).isTrue() -> assertThat(time).isLessThan(2000) assertThat(c.isEmpty()).isFalse() -> assertThat(c).isNotEmpty() assertThat(s.contains(x)).isTrue() -> assertThat(s).contains(x) assertThat(n).isEqualTo(0) -> assertThat(n).isZero() instanceof predicates are not handled by any existing recipe (tracked upstream as openrewrite/rewrite-testing-frameworks#1030), so they were converted by hand: assertThat(o instanceof T).isTrue() -> assertThat(o).isInstanceOf(T.class) A few assertions the recipes can't reach were also tidied by hand (e.g. in GraphTest): reversed actual/expected and boolean-OR equality chains: assertThat(n).isEqualTo(x.size()) -> assertThat(x).hasSize(n) assertThat(a.equals(x) || b.equals(x)) -> assertThat(x).isIn(a, b) .isTrue() One assertion was fixed by hand too: the recipe rewrote `null != x` to the ambiguous `assertThat(null).isNotSameAs(x)` (tracked as PicnicSupermarket/error-prone-support#2276); replaced with `assertThat(x).isNotNull()`.
1 parent 5e55a1a commit dcebefa

247 files changed

Lines changed: 960 additions & 1087 deletions

File tree

Some content is hidden

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

testng-core/src/test/java/ReporterConfigTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ public void testDeserialize() {
1717
ReporterConfig config = ReporterConfig.deserialize(CONFIG_STR);
1818
assertThat(Objects.requireNonNull(config).getClassName()).isEqualTo(CLASS_NAME);
1919
String serial = config.serialize();
20-
assertThat(serial.contains(PROP_NAME_1 + "=true")).isTrue();
21-
assertThat(serial.contains(PROP_NAME_2 + "=true")).isTrue();
20+
assertThat(serial).contains(PROP_NAME_1 + "=true").contains(PROP_NAME_2 + "=true");
2221
}
2322
}

testng-core/src/test/java/org/testng/JarFileUtilsTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public void ensureThatExceptionAreNotThrown() throws MalformedURLException {
135135
testNg.initializeSuitesAndJarFile();
136136
// "testng-tests-child2", "testng-tests-child4", "testng-tests-child5" are from 3 different test
137137
// suites
138-
assertThat(testNg.m_suites.size()).isEqualTo(3);
138+
assertThat(testNg.m_suites).hasSize(3);
139139
}
140140

141141
/**
@@ -154,7 +154,7 @@ public void ensureThatExceptionAreThrown() throws MalformedURLException {
154154
testNg.setXmlPathInJar("jarfileutils/testng-tests.xml");
155155
testNg.setTestJar(jar.getAbsolutePath());
156156
testNg.initializeSuitesAndJarFile();
157-
assertThat(testNg.m_suites.size()).isEqualTo(1);
157+
assertThat(testNg.m_suites).hasSize(1);
158158
}
159159

160160
@Test

testng-core/src/test/java/org/testng/internal/DynamicGraphHelperTest.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import java.util.List;
77
import java.util.Map;
88
import java.util.Set;
9-
import java.util.stream.Collectors;
109
import org.testng.ITestClass;
1110
import org.testng.ITestNGMethod;
1211
import org.testng.ITestObjectFactory;
@@ -150,10 +149,8 @@ public void testCreateDynamicGraphWithPackageWithAbstractClassPreserveOrderTrue(
150149
XmlTest xmlTest = createXmlTest("2249_suite", "2249_test", classes);
151150
xmlTest.setPreserveOrder(true);
152151
DynamicGraph<ITestNGMethod> graph = newGraph(xmlTest, classes);
153-
assertThat(
154-
graph.getFreeNodes().stream()
155-
.map(ITestNGMethod::getMethodName)
156-
.collect(Collectors.toList()))
152+
assertThat(graph.getFreeNodes())
153+
.extracting(ITestNGMethod::getMethodName)
157154
.containsExactly("a1", "a2");
158155
}
159156

@@ -162,10 +159,8 @@ public void testCreateDynamicGraphWithPackageWithoutAbstractClass(Class<?>[] cla
162159
XmlTest xmlTest = createXmlTest("2249_suite", "2249_test", classes);
163160
xmlTest.setPreserveOrder(false);
164161
DynamicGraph<ITestNGMethod> graph = newGraph(xmlTest, classes);
165-
assertThat(
166-
graph.getFreeNodes().stream()
167-
.map(ITestNGMethod::getMethodName)
168-
.collect(Collectors.toList()))
162+
assertThat(graph.getFreeNodes())
163+
.extracting(ITestNGMethod::getMethodName)
169164
.containsExactly("a1", "a2", "b2", "b1");
170165
}
171166

testng-core/src/test/java/org/testng/internal/DynamicGraphTest.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ private static <T> void assertFreeNodesEquals(IDynamicGraph<T> graph, T... expec
4343

4444
private static <T> void assertFreeNodesEquals(IDynamicGraph<T> graph, List<T> expected) {
4545
// Compare free nodes using isEqualTo instead of containsOnly as we care about ordering too.
46-
assertThat(graph.getFreeNodes()).isEqualTo(expected);
46+
assertThat(graph.getFreeNodes()).containsExactlyElementsOf(expected);
4747
}
4848

4949
@Test
@@ -261,7 +261,7 @@ public void edgeWeightTest1() {
261261
InvokedMethodNameListener listener = new InvokedMethodNameListener();
262262
tng.addListener(listener);
263263
tng.run();
264-
assertThat(listener.getSucceedMethodNames()).isEqualTo(expectedOrder1);
264+
assertThat(listener.getSucceedMethodNames()).containsExactlyElementsOf(expectedOrder1);
265265
}
266266

267267
@Test
@@ -271,15 +271,15 @@ public void edgeWeightTest2() {
271271
InvokedMethodNameListener listener = new InvokedMethodNameListener();
272272
tng.addListener(listener);
273273
tng.run();
274-
assertThat(listener.getSucceedMethodNames()).isEqualTo(expectedOrder2);
274+
assertThat(listener.getSucceedMethodNames()).containsExactlyElementsOf(expectedOrder2);
275275
}
276276

277277
private static void runAssertion(IDynamicGraph<ITestNGMethod> graph, List<String> expected) {
278278
List<ITestNGMethod> p1Methods = graph.getFreeNodes();
279-
assertThat(p1Methods.size()).isEqualTo(3);
279+
assertThat(p1Methods).hasSize(3);
280280
graph.setStatus(p1Methods, Status.FINISHED);
281281
for (ITestNGMethod p1Method : p1Methods) {
282-
assertThat(expected.contains(constructName(p1Method))).isTrue();
282+
assertThat(expected).contains(constructName(p1Method));
283283
}
284284
}
285285

@@ -297,7 +297,7 @@ public void testDuplicationFunctionality() {
297297
testng.addListener(tla);
298298
testng.run();
299299
int expected = tla.getMultiplyCount() + tla.getOriginalMethodCount();
300-
assertThat(tla.getPassedTests().size()).isEqualTo(expected);
300+
assertThat(tla.getPassedTests()).hasSize(expected);
301301
}
302302

303303
@Test(expectedExceptions = IllegalStateException.class)
@@ -324,22 +324,22 @@ public void testAllowedCycles() {
324324
public void testGainWeight() {
325325
DynamicGraph<String> dg = new DynamicGraph<>();
326326
dg.addEdge(1, "a", "b");
327-
assertThat(dg.getEdges().values().size()).isEqualTo(1);
328-
assertThat(dg.getEdges().get("a").get("b")).isEqualTo(1);
327+
assertThat(dg.getEdges().values()).hasSize(1);
328+
assertThat(dg.getEdges().get("a")).containsEntry("b", 1);
329329

330330
// Duplicated edge, but with lower weight
331331
dg.addEdge(0, "a", "b");
332332

333333
// Should only be one edge with same weight
334-
assertThat(dg.getEdges().values().size()).isEqualTo(1);
335-
assertThat(dg.getEdges().get("a").get("b")).isEqualTo(1);
334+
assertThat(dg.getEdges().values()).hasSize(1);
335+
assertThat(dg.getEdges().get("a")).containsEntry("b", 1);
336336

337337
// Duplicated edge, but with higher weight
338338
dg.addEdge(2, "a", "b");
339339

340340
// Should only be one edge with weight of 2 now.
341-
assertThat(dg.getEdges().values().size()).isEqualTo(1);
342-
assertThat(dg.getEdges().get("a").get("b")).isEqualTo(2);
341+
assertThat(dg.getEdges().values()).hasSize(1);
342+
assertThat(dg.getEdges().get("a")).containsEntry("b", 2);
343343
}
344344

345345
/**
@@ -421,7 +421,7 @@ public void testParallel() {
421421

422422
// all done
423423
assertThat(dg.getFreeNodes()).isEmpty();
424-
assertThat(dg.getNodeCountWithStatus(Status.READY)).isEqualTo(0);
424+
assertThat(dg.getNodeCountWithStatus(Status.READY)).isZero();
425425
assertThat(dg.getNodeCountWithStatus(Status.FINISHED)).isEqualTo(100);
426426
}
427427
}

testng-core/src/test/java/org/testng/internal/objects/GuiceHelperTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void getInjector_spiModule_injectorHasModule() {
2929
assertThat(injector).isNotNull();
3030
Module[] modules = injector.getModules();
3131
assertThat(modules).isNotNull();
32-
assertThat(modules.length).isEqualTo(1);
32+
assertThat(modules.length).isOne();
3333
assertThat(modules[0]).isEqualTo(new SampleIModule().getModule());
3434
}
3535

testng-core/src/test/java/org/testng/internal/objects/InstanceCreatorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void testCreateInstance1WithOneArgStringParamForConstructor() {
2929
Object object =
3030
SimpleObjectDispenser.createInstance(
3131
declaringClass, classes, xmlTest, finder, objectFactory, false, "");
32-
assertThat((object instanceof ITest)).isTrue();
32+
assertThat(object).isInstanceOf(ITest.class);
3333
assertThat(((ITest) object).getTestName()).isEqualTo(GITHUB_1456);
3434
}
3535
}

testng-core/src/test/java/org/testng/xml/ParserTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class ParserTest {
1616
public void testParsing(String file) throws Exception {
1717
Parser parser = new Parser(file);
1818
List<XmlSuite> suites = parser.parseToList();
19-
assertThat(suites.size()).isEqualTo(1);
19+
assertThat(suites).hasSize(1);
2020
}
2121

2222
@DataProvider(name = "dp")

testng-core/src/test/java/org/testng/xml/XmlSuiteTest.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ public void testTimeOut(String timeout, int size, int lineNumber) {
5454
StringReader stringReader = new StringReader(suite.toXml());
5555
List<String> resultLines = Lists.newArrayList();
5656
List<Integer> lineNumbers = grep(stringReader, "time-out=\"1000\"", resultLines);
57-
assertThat(lineNumbers).size().isEqualTo(size);
58-
assertThat(resultLines).size().isEqualTo(size);
57+
assertThat(lineNumbers).hasSize(size);
58+
assertThat(resultLines).hasSize(size);
5959
if (size > 0) {
6060
assertThat(lineNumbers.get(size - 1)).isEqualTo(lineNumber);
6161
}
@@ -88,12 +88,12 @@ public void ensureSuiteLevelPackageIsAppliedToAllTests() throws IOException {
8888
Parser parser = new Parser("src/test/resources/xml/issue435.xml");
8989
List<XmlSuite> suites = parser.parseToList();
9090
XmlSuite xmlsuite = suites.get(0);
91-
assertThat(xmlsuite.getTests().get(0).getClasses().size()).isEqualTo(0);
91+
assertThat(xmlsuite.getTests().get(0).getClasses()).isEmpty();
9292
TestNG testNG = create();
9393
testNG.setXmlSuites(suites);
9494
testNG.setUseDefaultListeners(false);
9595
testNG.run();
96-
assertThat(xmlsuite.getTests().get(0).getClasses().size()).isEqualTo(1);
96+
assertThat(xmlsuite.getTests().get(0).getClasses()).hasSize(1);
9797
}
9898

9999
@Test(description = "GITHUB-1674")
@@ -105,12 +105,12 @@ public void ensureSuiteLevelBeanshellIsAppliedToAllTests() throws IOException {
105105
Parser parser = new Parser("src/test/resources/xml/issue1674.xml");
106106
List<XmlSuite> suites = parser.parseToList();
107107
XmlSuite xmlsuite = suites.get(0);
108-
assertThat(xmlsuite.getTests().get(0).getMethodSelectors().size()).isEqualTo(0);
108+
assertThat(xmlsuite.getTests().get(0).getMethodSelectors()).isEmpty();
109109
TestNG testNG = create();
110110
testNG.setXmlSuites(suites);
111111
testNG.setUseDefaultListeners(false);
112112
testNG.run();
113-
assertThat(xmlsuite.getTests().get(0).getMethodSelectors().size()).isEqualTo(1);
113+
assertThat(xmlsuite.getTests().get(0).getMethodSelectors()).hasSize(1);
114114
assertThat(stream.toString()).contains(Arrays.asList("rajni", "kamal", "mgr"));
115115
} finally {
116116
System.setOut(current);
@@ -193,23 +193,23 @@ public void checkDuplicateChildSuites() throws IOException {
193193
Parser parser = new Parser(path);
194194
List<XmlSuite> suites = parser.parseToList();
195195
XmlSuite rootSuite = suites.get(0);
196-
assertThat(rootSuite.getChildSuites().size()).isEqualTo(4);
196+
assertThat(rootSuite.getChildSuites()).hasSize(4);
197197

198198
XmlSuite suite3 = rootSuite.getChildSuites().get(1);
199199
assertThat(suite3.getName()).isEqualTo("Child Suite 3");
200-
assertThat(suite3.getChildSuites().size()).isEqualTo(3);
200+
assertThat(suite3.getChildSuites()).hasSize(3);
201201

202202
XmlSuite suite3_0 = rootSuite.getChildSuites().get(3);
203203
assertThat(suite3.getName()).isEqualTo("Child Suite 3");
204-
assertThat(suite3_0.getChildSuites().size()).isEqualTo(3);
204+
assertThat(suite3_0.getChildSuites()).hasSize(3);
205205

206206
XmlSuite suite5 = suite3.getChildSuites().get(2);
207207
assertThat(suite5.getName()).isEqualTo("Child Suite 5");
208-
assertThat(suite5.getTests().size()).isEqualTo(1);
208+
assertThat(suite5.getTests()).hasSize(1);
209209

210210
XmlSuite suite5_0 = suite3_0.getChildSuites().get(2);
211211
assertThat(suite5_0.getName()).isEqualTo("Child Suite 5");
212-
assertThat(suite5_0.getTests().size()).isEqualTo(1);
212+
assertThat(suite5_0.getTests()).hasSize(1);
213213
}
214214

215215
private static void runTests(
@@ -220,8 +220,8 @@ private static void runTests(
220220
} catch (IOException e) {
221221
throw new TestNGException(e);
222222
}
223-
assertThat(suites.size()).isEqualTo(1);
224-
assertThat(suites.get(0).getChildSuites().size()).isEqualTo(childSuitesCount);
223+
assertThat(suites).hasSize(1);
224+
assertThat(suites.get(0).getChildSuites()).hasSize(childSuitesCount);
225225
TestNG testng = create(suites);
226226
SuiteCounter listener = new SuiteCounter();
227227
testng.addListener((ITestNGListener) listener);

testng-core/src/test/java/org/testng/xml/XmlTestTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void testXMLClassesInCloneMethod() {
4848
XmlTest copyXmlTest = (XmlTest) xmlTest.clone();
4949
assertThat(copyXmlTest).isNotNull();
5050
assertThat(copyXmlTest.getXmlClasses()).isNotNull();
51-
assertThat(xmlTest.getXmlClasses().size()).isEqualTo(copyXmlTest.getXmlClasses().size());
51+
assertThat(xmlTest.getXmlClasses()).hasSameSizeAs(copyXmlTest.getXmlClasses());
5252
}
5353

5454
private static Map<String, String> newSetOfParameters(String key, String value) {

testng-core/src/test/java/test/BaseDistributedTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ protected void verifyTests(String title, String[] exp, Map<String, List<ITestRes
1717
expected.put(element, element);
1818
}
1919

20-
assertThat(found.size())
20+
assertThat(found)
2121
.withFailMessage("Verification for " + title + " tests failed:")
22-
.isEqualTo(expected.size());
22+
.hasSameSizeAs(expected);
2323

2424
for (String o : expected.values()) {
2525
if (null == found.get(o)) {

0 commit comments

Comments
 (0)