Skip to content

Commit b9c1a90

Browse files
authored
Collapse consecutive assertions (#66)
1 parent 72c339f commit b9c1a90

11 files changed

+222
-183
lines changed

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

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -249,11 +249,12 @@ public void contains_exactly_for_primitive_types_assertion_examples() {
249249

250250
@Test
251251
public void containsOnlyOnce_for_primitive_types_assertion_examples() {
252-
// int
253-
assertThat(new int[] { 1, 2, 3 }).containsOnlyOnce(1);
254-
assertThat(new int[] { 1, 2, 3 }).containsOnlyOnce(1, 2);
255-
assertThat(new int[] { 1, 2, 3 }).containsOnlyOnce(1, 2, 3);
256-
assertThat(new int[] { 1, 2, 3 }).containsOnlyOnce(3, 2, 3);
252+
assertThat(new int[] { 1, 2, 3 })
253+
// int
254+
.containsOnlyOnce(1)
255+
.containsOnlyOnce(1, 2)
256+
.containsOnlyOnce(1, 2, 3)
257+
.containsOnlyOnce(3, 2, 3);
257258
try {
258259
assertThat(new int[] { 1, 2, 1 }).containsOnlyOnce(1);
259260
} catch (AssertionError e) {
@@ -303,12 +304,13 @@ public void containsOnlyOnce_assertion_should_not_require_objects_to_be_comparab
303304

304305
@Test
305306
public void hasSameSizeAs_assertion_examples() {
306-
// comparing primitive arrays with primitive arrays
307-
assertThat(new byte[] { 1, 2 }).hasSameSizeAs(new byte[] { 2, 3 });
308-
assertThat(new byte[] { 1, 2 }).hasSameSizeAs(new int[] { 2, 3 });
309-
// comparing primitive arrays with Object array
310-
assertThat(new byte[] { 1, 2 }).hasSameSizeAs(new Byte[] { 2, 3 });
311-
assertThat(new byte[] { 1, 2 }).hasSameSizeAs(new String[] { "1", "2" });
307+
assertThat(new byte[] { 1, 2 })
308+
// comparing primitive arrays with primitive arrays
309+
.hasSameSizeAs(new byte[] { 2, 3 })
310+
.hasSameSizeAs(new int[] { 2, 3 })
311+
// comparing primitive arrays with Object array
312+
.hasSameSizeAs(new Byte[] { 2, 3 })
313+
.hasSameSizeAs(new String[] { "1", "2" });
312314
// comparing primitive arrays with Iterable
313315
assertThat(new long[] { 1, 2, 3 }).hasSameSizeAs(newArrayList(vilya, nenya, narya));
314316

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -213,9 +213,10 @@ public void should_be_able_to_extract_primitive_values() {
213213

214214
@Test
215215
public void has_field_or_property_examples() {
216-
assertThat(frodo).hasFieldOrProperty("age");
217-
// private field is found unless Assertions.setAllowExtractingPrivateFields(false);
218-
assertThat(frodo).hasFieldOrProperty("notAccessibleField");
216+
assertThat(frodo)
217+
.hasFieldOrProperty("age")
218+
// private field is found unless Assertions.setAllowExtractingPrivateFields(false);
219+
.hasFieldOrProperty("notAccessibleField");
219220
assertThat(frodo)
220221
.hasFieldOrPropertyWithValue("age", 33)
221222
.hasFieldOrProperty("race.name")

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

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,15 @@ public void comparable_assertions_examples() {
2828

2929
Rating goodRating = new Rating(8);
3030
Rating badRating = new Rating(4);
31-
assertThat(goodRating).isGreaterThan(badRating);
32-
assertThat(goodRating).isGreaterThanOrEqualTo(badRating);
33-
assertThat(badRating).isLessThan(goodRating);
34-
assertThat(badRating).isLessThanOrEqualTo(goodRating);
35-
assertThat(goodRating).isEqualByComparingTo(goodRating);
36-
assertThat(goodRating).isNotEqualByComparingTo(badRating);
31+
assertThat(goodRating)
32+
.isGreaterThan(badRating)
33+
.isGreaterThanOrEqualTo(badRating);
34+
assertThat(badRating)
35+
.isLessThan(goodRating)
36+
.isLessThanOrEqualTo(goodRating);
37+
assertThat(goodRating)
38+
.isEqualByComparingTo(goodRating)
39+
.isNotEqualByComparingTo(badRating);
3740
try {
3841
assertThat(badRating).isGreaterThan(goodRating);
3942
} catch (AssertionError e) {

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

Lines changed: 41 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,15 @@ public void date_assertions_comparison_with_precision_level() {
103103
Date date4 = parseDatetimeWithMs("2003-01-01T01:55:55.555");
104104
Date date5 = parseDatetimeWithMs("2003-01-01T05:55:55.555");
105105

106-
assertThat(date1).isEqualToIgnoringMillis(date2);
107-
assertThat(date1).isInSameSecondAs(date2);
108-
assertThat(date1).isEqualToIgnoringSeconds(date3);
109-
assertThat(date1).isInSameMinuteAs(date3);
110-
assertThat(date1).isEqualToIgnoringMinutes(date4);
111-
assertThat(date1).isInSameHourAs(date4);
112-
assertThat(date1).isEqualToIgnoringHours(date5);
113-
assertThat(date1).isInSameDayAs(date5);
106+
assertThat(date1)
107+
.isEqualToIgnoringMillis(date2)
108+
.isInSameSecondAs(date2)
109+
.isEqualToIgnoringSeconds(date3)
110+
.isInSameMinuteAs(date3)
111+
.isEqualToIgnoringMinutes(date4)
112+
.isInSameHourAs(date4)
113+
.isEqualToIgnoringHours(date5)
114+
.isInSameDayAs(date5);
114115

115116
try {
116117
assertThat(date1).isEqualToIgnoringMillis(date3);
@@ -143,9 +144,10 @@ public void is_in_the_same_second_assertions_examples() {
143144
logAssertionErrorMessage("isInSameSecondAs date assertion", e);
144145
}
145146

146-
// succeeds because the time difference between dates < 1s
147-
assertThat(date1).isInSameSecondWindowAs(date2);
148-
assertThat(date1).isInSameSecondWindowAs(date3);
147+
assertThat(date1)
148+
// succeeds because the time difference between dates < 1s
149+
.isInSameSecondWindowAs(date2)
150+
.isInSameSecondWindowAs(date3);
149151
// fails because time difference between dates >= 1s
150152
try {
151153
assertThat(date1).isInSameSecondWindowAs(parseDatetimeWithMs("2003-01-01T12:00:02.000"));
@@ -171,9 +173,10 @@ public void is_in_the_same_minute_assertions_examples() {
171173
logAssertionErrorMessage("isInSameMinuteWindowAs date assertion", e);
172174
}
173175

174-
// succeeds because date time difference < 1 min
175-
assertThat(date1).isInSameMinuteWindowAs(date2);
176-
assertThat(date1).isInSameMinuteWindowAs(date3);
176+
assertThat(date1)
177+
// succeeds because date time difference < 1 min
178+
.isInSameMinuteWindowAs(date2)
179+
.isInSameMinuteWindowAs(date3);
177180
try {
178181
// fails because date time difference >= 1 min
179182
assertThat(date1).isInSameMinuteWindowAs(parseDatetime("2003-01-01T12:02:00"));
@@ -199,9 +202,10 @@ public void is_in_the_same_hour_assertions_examples() {
199202
logAssertionErrorMessage("isInSameHourAs date assertion", e);
200203
}
201204

202-
// succeeds because time difference < 1h
203-
assertThat(date1).isInSameHourWindowAs(date2);
204-
assertThat(date1).isInSameHourWindowAs(date3);
205+
assertThat(date1)
206+
// succeeds because time difference < 1h
207+
.isInSameHourWindowAs(date2)
208+
.isInSameHourWindowAs(date3);
205209
try {
206210
assertThat(date1).isInSameHourWindowAs(date4);
207211
} catch (AssertionError e) {
@@ -213,21 +217,23 @@ public void is_in_the_same_hour_assertions_examples() {
213217
public void is_in_the_same_day_or_month_or_year_assertions_examples() {
214218
Date date1 = parseDatetime("2003-04-26T23:17:00");
215219
Date date2 = parseDatetime("2003-04-26T12:30:00");
216-
assertThat(date1).isInSameDayAs(date2);
217-
assertThat(date1).isInSameMonthAs("2003-04-27");
218-
assertThat(date1).isInSameYearAs("2003-05-13");
220+
assertThat(date1)
221+
.isInSameDayAs(date2)
222+
.isInSameMonthAs("2003-04-27")
223+
.isInSameYearAs("2003-05-13");
219224
}
220225

221226
@Test
222227
public void has_field_date_assertions_examples() {
223228
Date date1 = parseDatetimeWithMs("2003-04-26T13:20:35.017");
224-
assertThat(date1).hasMillisecond(17);
225-
assertThat(date1).hasSecond(35);
226-
assertThat(date1).hasMinute(20);
227-
assertThat(date1).hasHourOfDay(13);
228-
assertThat(date1).hasDayOfWeek(Calendar.SATURDAY);
229-
assertThat(date1).hasMonth(4);
230-
assertThat(date1).hasYear(2003);
229+
assertThat(date1)
230+
.hasMillisecond(17)
231+
.hasSecond(35)
232+
.hasMinute(20)
233+
.hasHourOfDay(13)
234+
.hasDayOfWeek(Calendar.SATURDAY)
235+
.hasMonth(4)
236+
.hasYear(2003);
231237
}
232238

233239
@Test
@@ -304,12 +310,14 @@ public void lenient_date_parsing() {
304310

305311
Assertions.setLenientDateParsing(true);
306312

307-
// assertions will pass
308-
assertThat(date).isEqualTo("2001-01-34");
309-
assertThat(date).isEqualTo("2001-02-02T24:00:00");
310-
assertThat(date).isEqualTo("2001-02-04T-24:00:00.000");
311-
assertThat(dateTime).isEqualTo("2001-02-03T04:05:05.1000");
312-
assertThat(dateTime).isEqualTo("2001-02-03T04:04:66");
313+
assertThat(date)
314+
// assertions will pass
315+
.isEqualTo("2001-01-34")
316+
.isEqualTo("2001-02-02T24:00:00")
317+
.isEqualTo("2001-02-04T-24:00:00.000");
318+
assertThat(dateTime)
319+
.isEqualTo("2001-02-03T04:05:05.1000")
320+
.isEqualTo("2001-02-03T04:04:66");
313321
assertThat(dateTimeWithMs).isEqualTo("2001-02-03T04:05:07.-300");
314322

315323
// assertions will fail

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ public void file_assertions_examples() throws Exception {
4444

4545
// compare content with another file
4646
File xFileClone = writeFile("xFileClone", "The Truth Is Out There");
47-
assertThat(xFile).hasSameTextualContentAs(xFileClone);
48-
assertThat(xFile).hasSameBinaryContentAs(xFileClone);
47+
assertThat(xFile)
48+
.hasSameTextualContentAs(xFileClone)
49+
.hasSameBinaryContentAs(xFileClone);
4950

5051
// compare content with a string
5152
assertThat(xFile).isNotEmpty()

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

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,12 @@ public class Java8DateTimeAssertionsExamples extends AbstractAssertionsExamples
3737
public void zonedDateTime_assertions_examples() {
3838

3939
ZonedDateTime firstOfJanuary2000InUTC = ZonedDateTime.parse("2000-01-01T00:00:00Z");
40-
assertThat(firstOfJanuary2000InUTC).isEqualTo(ZonedDateTime.parse("2000-01-01T00:00:00Z"));
41-
// same assertion but AssertJ takes care of expected String to ZonedDateTime conversion
42-
assertThat(firstOfJanuary2000InUTC).isEqualTo("2000-01-01T00:00:00Z");
43-
// example showing that ZonedDateTime are compared in actual's time zone
44-
assertThat(firstOfJanuary2000InUTC).isEqualTo("2000-01-01T01:00:00+01:00");
40+
assertThat(firstOfJanuary2000InUTC)
41+
.isEqualTo(ZonedDateTime.parse("2000-01-01T00:00:00Z"))
42+
// same assertion but AssertJ takes care of expected String to ZonedDateTime conversion
43+
.isEqualTo("2000-01-01T00:00:00Z")
44+
// example showing that ZonedDateTime are compared in actual's time zone
45+
.isEqualTo("2000-01-01T01:00:00+01:00");
4546

4647
try {
4748
// 2000-01-01T00:00+01:00 = 1999-12-31T23:00:00Z !
@@ -73,10 +74,11 @@ public void zonedDateTime_assertions_examples() {
7374
ZonedDateTime zonedDateTime4 = ZonedDateTime.of(2000, 1, 1, 0, 0, 59, 999, ZoneOffset.UTC);
7475
ZonedDateTime zonedDateTime5 = ZonedDateTime.of(2000, 1, 1, 0, 0, 0, 999, ZoneOffset.UTC);
7576

76-
assertThat(zonedDateTime1).isEqualToIgnoringHours(zonedDateTime2);
77-
assertThat(zonedDateTime1).isEqualToIgnoringMinutes(zonedDateTime3);
78-
assertThat(zonedDateTime1).isEqualToIgnoringSeconds(zonedDateTime4);
79-
assertThat(zonedDateTime1).isEqualToIgnoringNanos(zonedDateTime5);
77+
assertThat(zonedDateTime1)
78+
.isEqualToIgnoringHours(zonedDateTime2)
79+
.isEqualToIgnoringMinutes(zonedDateTime3)
80+
.isEqualToIgnoringSeconds(zonedDateTime4)
81+
.isEqualToIgnoringNanos(zonedDateTime5);
8082

8183
// example showing that ZonedDateTime are compared in actual's time zone
8284
ZonedDateTime zonedDateTimeNotInUTC = ZonedDateTime.of(2000, 1, 1, 0, 0, 0, 0, ZoneId.of("UTC+1"));
@@ -233,8 +235,9 @@ public void localDate_assertions_examples() {
233235
LocalTime _07_10 = LocalTime.of(7, 10);
234236
LocalTime _07_42 = LocalTime.of(7, 42);
235237

236-
assertThat(_07_10).isCloseTo(_07_42, within(32, ChronoUnit.MINUTES));
237-
assertThat(_07_10).isCloseTo(_07_42, within(1, ChronoUnit.HOURS));
238+
assertThat(_07_10)
239+
.isCloseTo(_07_42, within(32, ChronoUnit.MINUTES))
240+
.isCloseTo(_07_42, within(1, ChronoUnit.HOURS));
238241

239242
LocalDate localDate = LocalDate.now();
240243
assertThat(localDate).isBetween(localDate.minusDays(1), localDate.plusDays(1))
@@ -308,9 +311,10 @@ public void offsetTime_assertions_examples() {
308311
public void offsetDateTime_assertions_examples() {
309312

310313
OffsetDateTime firstOfJanuary2000InUTC = OffsetDateTime.parse("2000-01-01T00:00:00Z");
311-
assertThat(firstOfJanuary2000InUTC).isEqualTo(OffsetDateTime.parse("2000-01-01T00:00:00Z"));
312-
// same assertion but AssertJ takes care of expected String to OffsetDateTime conversion
313-
assertThat(firstOfJanuary2000InUTC).isEqualTo("2000-01-01T00:00:00Z");
314+
assertThat(firstOfJanuary2000InUTC)
315+
.isEqualTo(OffsetDateTime.parse("2000-01-01T00:00:00Z"))
316+
// same assertion but AssertJ takes care of expected String to OffsetDateTime conversion
317+
.isEqualTo("2000-01-01T00:00:00Z");
314318

315319
try {
316320
// 2000-01-01T00:00+01:00 = 1999-12-31T23:00:00Z !
@@ -341,10 +345,11 @@ public void offsetDateTime_assertions_examples() {
341345
OffsetDateTime offsetDateTime3 = OffsetDateTime.of(2000, 1, 1, 0, 59, 59, 999, ZoneOffset.UTC);
342346
OffsetDateTime offsetDateTime4 = OffsetDateTime.of(2000, 1, 1, 0, 0, 59, 999, ZoneOffset.UTC);
343347
OffsetDateTime offsetDateTime5 = OffsetDateTime.of(2000, 1, 1, 0, 0, 0, 999, ZoneOffset.UTC);
344-
assertThat(offsetDateTime1).isEqualToIgnoringHours(offsetDateTime2);
345-
assertThat(offsetDateTime1).isEqualToIgnoringMinutes(offsetDateTime3);
346-
assertThat(offsetDateTime1).isEqualToIgnoringSeconds(offsetDateTime4);
347-
assertThat(offsetDateTime1).isEqualToIgnoringNanos(offsetDateTime5);
348+
assertThat(offsetDateTime1)
349+
.isEqualToIgnoringHours(offsetDateTime2)
350+
.isEqualToIgnoringMinutes(offsetDateTime3)
351+
.isEqualToIgnoringSeconds(offsetDateTime4)
352+
.isEqualToIgnoringNanos(offsetDateTime5);
348353

349354
// example showing that OffsetDateTime are compared in actual's time zone
350355
OffsetDateTime offsetDateTimeNotInUTC = OffsetDateTime.of(2000, 1, 1, 0, 0, 0, 0, ZoneOffset.MAX);

0 commit comments

Comments
 (0)