Skip to content

Commit 72c339f

Browse files
Collapse consecutive assertThat statements using the same object (#65)
Co-authored-by: Moderne <team@moderne.io>
1 parent ff7bf9e commit 72c339f

File tree

4 files changed

+85
-67
lines changed

4 files changed

+85
-67
lines changed

assertions-examples/src/test/java/org/assertj/examples/ArrayAssertionsExamples.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,21 @@ public void array_assertions_examples() {
6565

6666
Movie[] trilogy = array(theFellowshipOfTheRing, theTwoTowers, theReturnOfTheKing);
6767
assertThat(elvesRings).isNotEmpty().hasSize(3);
68-
assertThat(elvesRings).hasSameSizeAs(trilogy);
69-
assertThat(elvesRings).hasSameSizeAs(newArrayList(trilogy));
68+
assertThat(elvesRings)
69+
.hasSameSizeAs(trilogy)
70+
.hasSameSizeAs(newArrayList(trilogy));
7071
assertThat(elvesRings).contains(nenya).doesNotContain(oneRing);
71-
assertThat(elvesRings).containsExactly(vilya, nenya, narya);
72-
assertThat(elvesRings).containsExactlyElementsOf(newArrayList(vilya, nenya, narya));
72+
assertThat(elvesRings)
73+
.containsExactly(vilya, nenya, narya)
74+
.containsExactlyElementsOf(newArrayList(vilya, nenya, narya));
7375

7476
// you can check element at a given index (we use Index.atIndex(int) synthetic sugar for better readability).
7577
assertThat(elvesRings).contains(vilya, atIndex(0)).contains(nenya, atIndex(1)).contains(narya, atIndex(2));
7678
// with containsOnly, all the elements must be present (but the order is not important)
77-
assertThat(elvesRings).containsOnly(nenya, vilya, narya);
78-
assertThat(elvesRings).containsOnlyElementsOf(newArrayList(nenya, vilya, narya));
79-
assertThat(elvesRings).hasSameElementsAs(newArrayList(nenya, vilya, narya));
79+
assertThat(elvesRings)
80+
.containsOnly(nenya, vilya, narya)
81+
.containsOnlyElementsOf(newArrayList(nenya, vilya, narya))
82+
.hasSameElementsAs(newArrayList(nenya, vilya, narya));
8083
assertThat(elvesRings).doesNotContainNull().doesNotHaveDuplicates();
8184
assertThat(elvesRings).doesNotContainAnyElementsOf(newArrayList(oneRing, manRing, dwarfRing));
8285
// special check for null, empty collection or both
@@ -371,8 +374,9 @@ public void iterable_assertions_on_extracted_private_fields_values_example() {
371374
@Test
372375
public void array_assertions_testing_elements_type() throws Exception {
373376
Number[] numbers = { 2, 6L, 8.0 };
374-
assertThat(numbers).hasAtLeastOneElementOfType(Long.class);
375-
assertThat(numbers).hasOnlyElementsOfType(Number.class);
377+
assertThat(numbers)
378+
.hasAtLeastOneElementOfType(Long.class)
379+
.hasOnlyElementsOfType(Number.class);
376380
}
377381

378382
@Test

assertions-examples/src/test/java/org/assertj/examples/BasicAssertionsExamples.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,9 @@ public void isSame_isNotSame_assertions_examples() {
116116

117117
@Test
118118
public void isIn_isNotIn_assertions_examples() {
119-
assertThat(frodo).isIn(fellowshipOfTheRing);
120-
assertThat(frodo).isIn(sam, frodo, pippin);
119+
assertThat(frodo)
120+
.isIn(fellowshipOfTheRing)
121+
.isIn(sam, frodo, pippin);
121122
assertThat((TolkienCharacter) null).isIn(sam, frodo, pippin, null);
122123
assertThat(sauron).isNotIn(fellowshipOfTheRing);
123124
assertThat((TolkienCharacter) null).isNotIn(fellowshipOfTheRing);
@@ -213,12 +214,13 @@ public void should_be_able_to_extract_primitive_values() {
213214
@Test
214215
public void has_field_or_property_examples() {
215216
assertThat(frodo).hasFieldOrProperty("age");
216-
// private field are found unless Assertions.setAllowExtractingPrivateFields(false);
217+
// private field is found unless Assertions.setAllowExtractingPrivateFields(false);
217218
assertThat(frodo).hasFieldOrProperty("notAccessibleField");
218-
assertThat(frodo).hasFieldOrPropertyWithValue("age", 33);
219-
assertThat(frodo).hasFieldOrProperty("race.name");
220-
assertThat(frodo).hasOnlyFields("age", "race", "name", "notAccessibleField");
221-
assertThat(frodo).hasFieldOrPropertyWithValue("race.name", "Hobbit");
219+
assertThat(frodo)
220+
.hasFieldOrPropertyWithValue("age", 33)
221+
.hasFieldOrProperty("race.name")
222+
.hasOnlyFields("age", "race", "name", "notAccessibleField")
223+
.hasFieldOrPropertyWithValue("race.name", "Hobbit");
222224
}
223225

224226
@Test

assertions-examples/src/test/java/org/assertj/examples/IterableAssertionsExamples.java

Lines changed: 36 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,9 @@ public void iterable_basic_assertions_examples() {
104104
.isSubsetOf(duplicatedElvesRings);
105105

106106
try {
107-
assertThat(elvesRings).isSubsetOf(list(vilya, nenya, vilya, oneRing));
108-
assertThat(elvesRings).containsOnly(nenya, vilya, oneRing);
107+
assertThat(elvesRings)
108+
.isSubsetOf(list(vilya, nenya, vilya, oneRing))
109+
.containsOnly(nenya, vilya, oneRing);
109110
} catch (AssertionError e) {
110111
logAssertionErrorMessage("containsOnly", e);
111112
}
@@ -324,8 +325,9 @@ public void narrow_assertions_type_with_asInstanceOf_example() {
324325
@Test
325326
public void iterable_is_subset_of_assertion_example() {
326327
Collection<Ring> elvesRings = list(vilya, nenya, narya);
327-
assertThat(elvesRings).isSubsetOf(ringsOfPower);
328-
assertThat(elvesRings).isSubsetOf(vilya, nenya, narya);
328+
assertThat(elvesRings)
329+
.isSubsetOf(ringsOfPower)
330+
.isSubsetOf(vilya, nenya, narya);
329331
try {
330332
assertThat(elvesRings).isSubsetOf(list(nenya, narya));
331333
} catch (AssertionError e) {
@@ -442,26 +444,28 @@ public void iterable_assertion_match_example() {
442444
@Test
443445
public void iterable_satisfy_assertion_example() {
444446
List<TolkienCharacter> hobbits = list(frodo, sam, pippin);
445-
assertThat(hobbits).allSatisfy(character -> {
446-
assertThat(character.getRace()).isEqualTo(HOBBIT);
447-
assertThat(character.getName()).isNotEqualTo("Sauron");
448-
});
449-
450-
assertThat(hobbits).anySatisfy(character -> {
451-
assertThat(character.getRace()).isEqualTo(HOBBIT);
452-
assertThat(character.age).isLessThan(30);
453-
});
454-
455-
assertThat(hobbits).noneSatisfy(character -> assertThat(character.getRace()).isEqualTo(ELF));
447+
assertThat(hobbits)
448+
.allSatisfy(character -> {
449+
assertThat(character.getRace()).isEqualTo(HOBBIT);
450+
assertThat(character.getName()).isNotEqualTo("Sauron");
451+
})
452+
.anySatisfy(character -> {
453+
assertThat(character.getRace()).isEqualTo(HOBBIT);
454+
assertThat(character.age).isLessThan(30);
455+
})
456+
.noneSatisfy(character -> assertThat(character.getRace()).isEqualTo(ELF));
456457

457458
// order is important, so frodo must satisfy the first lambda requirements, sam the second and pippin the last
458-
assertThat(hobbits).satisfiesExactly(character -> assertThat(character.getName()).isEqualTo("Frodo"),
459-
character -> assertThat(character.getName()).isEqualTo("Sam"),
460-
character -> assertThat(character.getName()).startsWith("Pip"))
461-
// order is not but all requirements must be met
462-
.satisfiesExactlyInAnyOrder(character -> assertThat(character.getName()).isEqualTo("Sam"),
463-
character -> assertThat(character.getName()).startsWith("Pip"),
464-
character -> assertThat(character.getName()).isEqualTo("Frodo"));
459+
assertThat(hobbits)
460+
.satisfiesExactly(
461+
character -> assertThat(character.getName()).isEqualTo("Frodo"),
462+
character -> assertThat(character.getName()).isEqualTo("Sam"),
463+
character -> assertThat(character.getName()).startsWith("Pip"))
464+
// order is not but all requirements must be met
465+
.satisfiesExactlyInAnyOrder(
466+
character -> assertThat(character.getName()).isEqualTo("Sam"),
467+
character -> assertThat(character.getName()).startsWith("Pip"),
468+
character -> assertThat(character.getName()).isEqualTo("Frodo"));
465469
}
466470

467471
@Test
@@ -599,12 +603,14 @@ public void iterable_assertions_on_flat_extracted_values_examples() throws Excep
599603
public void iterable_assertions_testing_elements_type() throws Exception {
600604
List<Long> numbers = list(1L, 2L);
601605

602-
assertThat(numbers).hasOnlyElementsOfType(Number.class);
603-
assertThat(numbers).hasOnlyElementsOfType(Long.class);
606+
assertThat(numbers)
607+
.hasOnlyElementsOfType(Number.class)
608+
.hasOnlyElementsOfType(Long.class);
604609

605610
List<? extends Object> mixed = list("string", 1L);
606-
assertThat(mixed).hasAtLeastOneElementOfType(String.class);
607-
assertThat(mixed).hasOnlyElementsOfTypes(Long.class, String.class);
611+
assertThat(mixed)
612+
.hasAtLeastOneElementOfType(String.class)
613+
.hasOnlyElementsOfTypes(Long.class, String.class);
608614
}
609615

610616
@Test
@@ -769,9 +775,10 @@ public void zipStatisfy_example() {
769775
public void should_not_produce_warning_for_varargs_parameter() {
770776
List<Entry<String, String>> list = new ArrayList<>();
771777
list.add(Pair.of("A", "B"));
772-
assertThat(list).containsAnyOf(Pair.of("A", "B"), Pair.of("C", "D"));
773-
assertThat(list).containsExactly(Pair.of("A", "B"));
774-
assertThat(list).contains(Pair.of("A", "B"));
778+
assertThat(list)
779+
.containsAnyOf(Pair.of("A", "B"), Pair.of("C", "D"))
780+
.containsExactly(Pair.of("A", "B"))
781+
.contains(Pair.of("A", "B"));
775782
}
776783

777784
@Test

assertions-examples/src/test/java/org/assertj/examples/MapAssertionsExamples.java

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,17 @@ public void map_assertions_examples() {
6363
assertThat(ringBearers).isNotEmpty().hasSize(4);
6464

6565
// note the usage of Assertions.entry(key, value) synthetic sugar for better readability (similar to
66-
// MapEntry.entry(key, value)).
67-
assertThat(ringBearers).contains(entry(oneRing, frodo), entry(nenya, galadriel));
68-
// using java util Map.Entry
69-
assertThat(ringBearers).contains(javaMapEntry(oneRing, frodo), javaMapEntry(nenya, galadriel));
66+
assertThat(ringBearers)
67+
// MapEntry.entry(key, value)).
68+
.contains(entry(oneRing, frodo), entry(nenya, galadriel))
69+
// using java util Map.Entry
70+
.contains(javaMapEntry(oneRing, frodo), javaMapEntry(nenya, galadriel));
7071
// same assertion but different way of expressing it : no entry call needed but no varargs support.
7172
assertThat(ringBearers).containsEntry(oneRing, frodo).containsEntry(nenya, galadriel);
7273
// opposite of contains/containsEntry
73-
assertThat(ringBearers).doesNotContain(entry(oneRing, sauron), entry(nenya, aragorn));
74-
assertThat(ringBearers).doesNotContainEntry(oneRing, aragorn);
74+
assertThat(ringBearers)
75+
.doesNotContain(entry(oneRing, sauron), entry(nenya, aragorn))
76+
.doesNotContainEntry(oneRing, aragorn);
7577

7678
Map<Ring, TolkienCharacter> ringBearersInDifferentOrder = new LinkedHashMap<>();
7779
ringBearersInDifferentOrder.put(Ring.oneRing, frodo);
@@ -81,12 +83,13 @@ public void map_assertions_examples() {
8183
assertThat(ringBearers).containsExactlyInAnyOrderEntriesOf(ringBearersInDifferentOrder);
8284

8385
// Assertion on key
84-
assertThat(ringBearers).containsKey(nenya);
85-
assertThat(ringBearers).containsKeys(nenya, narya);
86-
assertThat(ringBearers).containsValues(frodo, galadriel);
87-
assertThat(ringBearers).containsOnlyKeys(nenya, narya, vilya, oneRing);
88-
assertThat(ringBearers).doesNotContainKey(manRing);
89-
assertThat(ringBearers).doesNotContainKeys(manRing, dwarfRing);
86+
assertThat(ringBearers)
87+
.containsKey(nenya)
88+
.containsKeys(nenya, narya)
89+
.containsValues(frodo, galadriel)
90+
.containsOnlyKeys(nenya, narya, vilya, oneRing)
91+
.doesNotContainKey(manRing)
92+
.doesNotContainKeys(manRing, dwarfRing);
9093

9194
try {
9295
assertThat(ringBearers).containsOnlyKeys(nenya, narya, dwarfRing);
@@ -95,13 +98,14 @@ public void map_assertions_examples() {
9598
}
9699

97100
// Assertion on value
98-
assertThat(ringBearers).containsValue(frodo);
99-
assertThat(ringBearers).doesNotContainValue(sam);
100-
101-
assertThat(ringBearers).hasSameSizeAs(ringBearers);
101+
assertThat(ringBearers)
102+
.containsValue(frodo)
103+
.doesNotContainValue(sam)
104+
.hasSameSizeAs(ringBearers);
102105
ringBearers.clear();
103-
assertThat(ringBearers).contains();
104-
assertThat(ringBearers).containsAllEntriesOf(ringBearers);
106+
assertThat(ringBearers)
107+
.contains()
108+
.containsAllEntriesOf(ringBearers);
105109
}
106110

107111
@Test
@@ -222,10 +226,11 @@ public void map_with_condition_examples() {
222226
ringBearers.put(frodo, oneRing);
223227
ringBearers.put(isildur, oneRing);
224228

225-
assertThat(ringBearers).hasEntrySatisfying(oneRingManBearer);
226-
assertThat(ringBearers).hasEntrySatisfying(isMan, oneRingBearer);
227-
assertThat(ringBearers).hasKeySatisfying(isMan);
228-
assertThat(ringBearers).hasValueSatisfying(oneRingBearer);
229+
assertThat(ringBearers)
230+
.hasEntrySatisfying(oneRingManBearer)
231+
.hasEntrySatisfying(isMan, oneRingBearer)
232+
.hasKeySatisfying(isMan)
233+
.hasValueSatisfying(oneRingBearer);
229234
}
230235

231236
@Test

0 commit comments

Comments
 (0)