Update time tests to JUnit Jupiter
Upgrade the tests in the time package to use JUnit Jupiter as part of the effort to remove the dependency on the Vintage Engine. While most of these changes are drop-in replacements with no functional benefit, there are some non-obvious changes worth mentioning. Unlike org.junit.Test, org.junit.jupiter.api.Test does not have an "expected" argument. Instead, an explicit call to org.junit.jupiter.api.Assertions.assertThrows is used. JUnit Jupiter no longer has a concept of runners. Tests previously run with the org.junit.runners.Parameterized runner were rewritten to use @ParameterizedTest and a @MethodSource. JUnit Jupiter also no longer has the concept of Rules. Usages of the SystemDefaultsSwitch rule and its accompanying annotates were replaced with the @DefaultLocale and @DefaultTimezone annotations that Benedikt Ritter contributed to JUnit Pioneer, the semi-official JUnit extension project. It's also worth noting this is a minimal patch for migrating the package's tests to Jupiter. There are several tests that can be made more elegant with Jupiter's new features, but that work is left for subsequent patches.
This commit is contained in:
parent
94beded839
commit
ca2e59c513
6
pom.xml
6
pom.xml
|
@ -543,6 +543,12 @@
|
|||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit-pioneer</groupId>
|
||||
<artifactId>junit-pioneer</artifactId>
|
||||
<version>0.2.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-all</artifactId>
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Modifier;
|
||||
|
@ -29,20 +29,15 @@
|
|||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.apache.commons.lang3.test.SystemDefaultsSwitch;
|
||||
import org.apache.commons.lang3.test.SystemDefaults;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junitpioneer.jupiter.DefaultLocale;
|
||||
import org.junitpioneer.jupiter.DefaultTimeZone;
|
||||
|
||||
/**
|
||||
* TestCase for DateFormatUtils.
|
||||
*/
|
||||
@SuppressWarnings("deprecation") // tests lots of deprecated items
|
||||
public class DateFormatUtilsTest {
|
||||
|
||||
@Rule
|
||||
public SystemDefaultsSwitch defaults = new SystemDefaultsSwitch();
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
@Test
|
||||
public void testConstructor() {
|
||||
|
@ -171,7 +166,7 @@ public void testTimeNoTISO() {
|
|||
testUTC("09:11:12Z", DateFormatUtils.ISO_TIME_NO_T_TIME_ZONE_FORMAT.getPattern());
|
||||
}
|
||||
|
||||
@SystemDefaults(locale="en")
|
||||
@DefaultLocale(language = "en")
|
||||
@Test
|
||||
public void testSMTP() {
|
||||
TimeZone timeZone = TimeZone.getTimeZone("GMT-3");
|
||||
|
@ -192,14 +187,14 @@ public void testLANG1000() throws Exception {
|
|||
DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.parse(date);
|
||||
}
|
||||
|
||||
@SystemDefaults(timezone="UTC")
|
||||
@DefaultTimeZone("UTC")
|
||||
@Test
|
||||
public void testLang530() throws ParseException {
|
||||
final Date d = new Date();
|
||||
final String isoDateStr = DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.format(d);
|
||||
final Date d2 = DateUtils.parseDate(isoDateStr, DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern());
|
||||
// the format loses milliseconds so have to reintroduce them
|
||||
assertEquals("Date not equal to itself ISO formatted and parsed", d.getTime(), d2.getTime() + d.getTime() % 1000);
|
||||
assertEquals(d.getTime(), d2.getTime() + d.getTime() % 1000, "Date not equal to itself ISO formatted and parsed");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -218,29 +213,29 @@ public void testLang916() throws Exception {
|
|||
// Long.
|
||||
{
|
||||
final String value = DateFormatUtils.format(cal.getTimeInMillis(), DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(), TimeZone.getTimeZone("Europe/Paris"));
|
||||
assertEquals("long", "2009-10-16T08:42:16+02:00", value);
|
||||
assertEquals("2009-10-16T08:42:16+02:00", value, "long");
|
||||
}
|
||||
{
|
||||
final String value = DateFormatUtils.format(cal.getTimeInMillis(), DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(), TimeZone.getTimeZone("Asia/Kolkata"));
|
||||
assertEquals("long", "2009-10-16T12:12:16+05:30", value);
|
||||
assertEquals("2009-10-16T12:12:16+05:30", value, "long");
|
||||
}
|
||||
{
|
||||
final String value = DateFormatUtils.format(cal.getTimeInMillis(), DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(), TimeZone.getTimeZone("Europe/London"));
|
||||
assertEquals("long", "2009-10-16T07:42:16+01:00", value);
|
||||
assertEquals("2009-10-16T07:42:16+01:00", value, "long");
|
||||
}
|
||||
|
||||
// Calendar.
|
||||
{
|
||||
final String value = DateFormatUtils.format(cal, DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(), TimeZone.getTimeZone("Europe/Paris"));
|
||||
assertEquals("calendar", "2009-10-16T08:42:16+02:00", value);
|
||||
assertEquals("2009-10-16T08:42:16+02:00", value, "calendar");
|
||||
}
|
||||
{
|
||||
final String value = DateFormatUtils.format(cal, DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(), TimeZone.getTimeZone("Asia/Kolkata"));
|
||||
assertEquals("calendar", "2009-10-16T12:12:16+05:30", value);
|
||||
assertEquals("2009-10-16T12:12:16+05:30", value, "calendar");
|
||||
}
|
||||
{
|
||||
final String value = DateFormatUtils.format(cal, DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.getPattern(), TimeZone.getTimeZone("Europe/London"));
|
||||
assertEquals("calendar", "2009-10-16T07:42:16+01:00", value);
|
||||
assertEquals("2009-10-16T07:42:16+01:00", value, "calendar");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,11 +16,11 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.Before;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
|
@ -37,7 +37,7 @@ public class DateUtilsFragmentTest {
|
|||
private Calendar aCalendar;
|
||||
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
aCalendar = Calendar.getInstance();
|
||||
aCalendar.set(2005, months, days, hours, minutes, seconds);
|
||||
|
|
|
@ -16,11 +16,11 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.Before;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
@ -58,7 +58,7 @@ public class DateUtilsRoundingTest {
|
|||
FastDateFormat fdf = DateFormatUtils.ISO_DATETIME_FORMAT;
|
||||
|
||||
|
||||
@Before
|
||||
@BeforeEach
|
||||
public void setUp() throws Exception {
|
||||
|
||||
dateTimeParser = new SimpleDateFormat("MMM dd, yyyy H:mm:ss.SSS", Locale.ENGLISH);
|
||||
|
@ -665,9 +665,9 @@ protected void baseTruncateTest(final Date truncatedDate, final Date lastTruncat
|
|||
final Date nextTruncateDate = DateUtils.addMilliseconds(lastTruncateDate, 1);
|
||||
|
||||
//Date-comparison
|
||||
assertEquals("Truncating "+ fdf.format(truncatedDate) +" as Date with CalendarField-value "+ calendarField +" must return itself", truncatedDate, DateUtils.truncate(truncatedDate, calendarField));
|
||||
assertEquals(truncatedDate, DateUtils.truncate(truncatedDate, calendarField), "Truncating "+ fdf.format(truncatedDate) +" as Date with CalendarField-value "+ calendarField +" must return itself");
|
||||
assertEquals(truncatedDate, DateUtils.truncate(lastTruncateDate, calendarField));
|
||||
assertFalse(fdf.format(lastTruncateDate) +" is not an extreme when truncating as Date with CalendarField-value "+ calendarField, truncatedDate.equals(DateUtils.truncate(nextTruncateDate, calendarField)));
|
||||
assertFalse(truncatedDate.equals(DateUtils.truncate(nextTruncateDate, calendarField)), fdf.format(lastTruncateDate) +" is not an extreme when truncating as Date with CalendarField-value "+ calendarField);
|
||||
|
||||
//Calendar-initiations
|
||||
Calendar truncatedCalendar, lastTruncateCalendar, nextTruncateCalendar;
|
||||
|
@ -679,17 +679,17 @@ protected void baseTruncateTest(final Date truncatedDate, final Date lastTruncat
|
|||
nextTruncateCalendar.setTime(nextTruncateDate);
|
||||
|
||||
//Calendar-comparison
|
||||
assertEquals("Truncating "+ fdf.format(truncatedCalendar) +" as Calendar with CalendarField-value "+ calendarField +" must return itself", truncatedCalendar, DateUtils.truncate(truncatedCalendar, calendarField));
|
||||
assertEquals(truncatedCalendar, DateUtils.truncate(truncatedCalendar, calendarField), "Truncating "+ fdf.format(truncatedCalendar) +" as Calendar with CalendarField-value "+ calendarField +" must return itself");
|
||||
assertEquals(truncatedCalendar, DateUtils.truncate(lastTruncateCalendar, calendarField));
|
||||
assertFalse(fdf.format(lastTruncateCalendar) +" is not an extreme when truncating as Calendar with CalendarField-value "+ calendarField, truncatedCalendar.equals(DateUtils.truncate(nextTruncateCalendar, calendarField)));
|
||||
assertFalse(truncatedCalendar.equals(DateUtils.truncate(nextTruncateCalendar, calendarField)), fdf.format(lastTruncateCalendar) +" is not an extreme when truncating as Calendar with CalendarField-value "+ calendarField);
|
||||
|
||||
//Object-comparison
|
||||
assertEquals("Truncating "+ fdf.format(truncatedDate) +" as Date cast to Object with CalendarField-value "+ calendarField +" must return itself as Date", truncatedDate, DateUtils.truncate((Object) truncatedDate, calendarField));
|
||||
assertEquals(truncatedDate, DateUtils.truncate((Object) truncatedDate, calendarField), "Truncating "+ fdf.format(truncatedDate) +" as Date cast to Object with CalendarField-value "+ calendarField +" must return itself as Date");
|
||||
assertEquals(truncatedDate, DateUtils.truncate((Object) lastTruncateDate, calendarField));
|
||||
assertFalse(fdf.format(lastTruncateDate) +" is not an extreme when truncating as Date cast to Object with CalendarField-value "+ calendarField, truncatedDate.equals(DateUtils.truncate((Object) nextTruncateDate, calendarField)));
|
||||
assertEquals("Truncating "+ fdf.format(truncatedCalendar) +" as Calendar cast to Object with CalendarField-value "+ calendarField +" must return itself as Date", truncatedDate, DateUtils.truncate((Object) truncatedCalendar, calendarField));
|
||||
assertFalse(truncatedDate.equals(DateUtils.truncate((Object) nextTruncateDate, calendarField)), fdf.format(lastTruncateDate) +" is not an extreme when truncating as Date cast to Object with CalendarField-value "+ calendarField);
|
||||
assertEquals(truncatedDate, DateUtils.truncate((Object) truncatedCalendar, calendarField), "Truncating "+ fdf.format(truncatedCalendar) +" as Calendar cast to Object with CalendarField-value "+ calendarField +" must return itself as Date");
|
||||
assertEquals(truncatedDate, DateUtils.truncate((Object) lastTruncateCalendar, calendarField));
|
||||
assertFalse(fdf.format(lastTruncateCalendar) +" is not an extreme when truncating as Calendar cast to Object with CalendarField-value "+ calendarField, truncatedDate.equals(DateUtils.truncate((Object) nextTruncateCalendar, calendarField)));
|
||||
assertFalse(truncatedDate.equals(DateUtils.truncate((Object) nextTruncateCalendar, calendarField)), fdf.format(lastTruncateCalendar) +" is not an extreme when truncating as Calendar cast to Object with CalendarField-value "+ calendarField);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -703,7 +703,7 @@ protected void baseTruncateTest(final Date truncatedDate, final Date lastTruncat
|
|||
* @since 3.0
|
||||
*/
|
||||
protected void roundToJanuaryFirst(final Date minDate, final Date maxDate, final int calendarField) {
|
||||
assertEquals("Rounding "+ fdf.format(januaryOneDate) +" as Date with CalendarField-value "+ calendarField +" must return itself", januaryOneDate, DateUtils.round(januaryOneDate, calendarField));
|
||||
assertEquals(januaryOneDate, DateUtils.round(januaryOneDate, calendarField), "Rounding "+ fdf.format(januaryOneDate) +" as Date with CalendarField-value "+ calendarField +" must return itself");
|
||||
assertEquals(januaryOneDate, DateUtils.round(minDate, calendarField));
|
||||
assertEquals(januaryOneDate, DateUtils.round(maxDate, calendarField));
|
||||
|
||||
|
@ -711,20 +711,20 @@ protected void roundToJanuaryFirst(final Date minDate, final Date maxDate, final
|
|||
minCalendar.setTime(minDate);
|
||||
final Calendar maxCalendar = Calendar.getInstance();
|
||||
maxCalendar.setTime(maxDate);
|
||||
assertEquals("Rounding "+ fdf.format(januaryOneCalendar) +" as Date with CalendarField-value "+ calendarField +" must return itself", januaryOneCalendar, DateUtils.round(januaryOneCalendar, calendarField));
|
||||
assertEquals(januaryOneCalendar, DateUtils.round(januaryOneCalendar, calendarField), "Rounding "+ fdf.format(januaryOneCalendar) +" as Date with CalendarField-value "+ calendarField +" must return itself");
|
||||
assertEquals(januaryOneCalendar, DateUtils.round(minCalendar, calendarField));
|
||||
assertEquals(januaryOneCalendar, DateUtils.round(maxCalendar, calendarField));
|
||||
|
||||
final Date toPrevRoundDate = DateUtils.addMilliseconds(minDate, -1);
|
||||
final Date toNextRoundDate = DateUtils.addMilliseconds(maxDate, 1);
|
||||
assertFalse(fdf.format(minDate) +" is not an lower-extreme when rounding as Date with CalendarField-value "+ calendarField, januaryOneDate.equals(DateUtils.round(toPrevRoundDate, calendarField)));
|
||||
assertFalse(fdf.format(maxDate) +" is not an upper-extreme when rounding as Date with CalendarField-value "+ calendarField, januaryOneDate.equals(DateUtils.round(toNextRoundDate, calendarField)));
|
||||
assertFalse(januaryOneDate.equals(DateUtils.round(toPrevRoundDate, calendarField)), fdf.format(minDate) +" is not an lower-extreme when rounding as Date with CalendarField-value "+ calendarField);
|
||||
assertFalse(januaryOneDate.equals(DateUtils.round(toNextRoundDate, calendarField)), fdf.format(maxDate) +" is not an upper-extreme when rounding as Date with CalendarField-value "+ calendarField);
|
||||
|
||||
final Calendar toPrevRoundCalendar = Calendar.getInstance();
|
||||
toPrevRoundCalendar.setTime(toPrevRoundDate);
|
||||
final Calendar toNextRoundCalendar = Calendar.getInstance();
|
||||
toNextRoundCalendar.setTime(toNextRoundDate);
|
||||
assertFalse(fdf.format(minCalendar) +" is not an lower-extreme when rounding as Date with CalendarField-value "+ calendarField, januaryOneDate.equals(DateUtils.round(toPrevRoundDate, calendarField)));
|
||||
assertFalse(fdf.format(maxCalendar) +" is not an upper-extreme when rounding as Date with CalendarField-value "+ calendarField, januaryOneDate.equals(DateUtils.round(toNextRoundDate, calendarField)));
|
||||
assertFalse(januaryOneDate.equals(DateUtils.round(toPrevRoundDate, calendarField)), fdf.format(minCalendar) +" is not an lower-extreme when rounding as Date with CalendarField-value "+ calendarField);
|
||||
assertFalse(januaryOneDate.equals(DateUtils.round(toNextRoundDate, calendarField)), fdf.format(maxCalendar) +" is not an upper-extreme when rounding as Date with CalendarField-value "+ calendarField);
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -17,18 +17,19 @@
|
|||
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.Calendar;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* TestCase for DurationFormatUtils.
|
||||
|
@ -156,9 +157,9 @@ public void testFormatDurationPluralWords() {
|
|||
assertEquals("1 day 1 hour 1 minute 1 second", text);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testFormatNegativeDurationWords() throws Exception {
|
||||
DurationFormatUtils.formatDurationWords(-5000, true, true);
|
||||
@Test
|
||||
public void testFormatNegativeDurationWords() {
|
||||
assertThrows(IllegalArgumentException.class, () -> DurationFormatUtils.formatDurationWords(-5000, true, true));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -191,9 +192,9 @@ public void testFormatDurationHMS() {
|
|||
assertEquals("01:02:12.789", DurationFormatUtils.formatDurationHMS(time));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testFormatNegativeDurationHMS() throws Exception {
|
||||
DurationFormatUtils.formatDurationHMS(-5000);
|
||||
@Test
|
||||
public void testFormatNegativeDurationHMS() {
|
||||
assertThrows(IllegalArgumentException.class, () -> DurationFormatUtils.formatDurationHMS(-5000));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -205,9 +206,9 @@ public void testFormatDurationISO() {
|
|||
assertEquals("P0Y0M0DT0H1M15.321S", DurationFormatUtils.formatDurationISO(75321L));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testFormatNegativeDurationISO() throws Exception {
|
||||
DurationFormatUtils.formatDurationISO(-5000);
|
||||
@Test
|
||||
public void testFormatNegativeDurationISO() {
|
||||
assertThrows(IllegalArgumentException.class, () -> DurationFormatUtils.formatDurationISO(-5000));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -248,9 +249,9 @@ public void testFormatDuration() {
|
|||
assertEquals("0 0 " + days, DurationFormatUtils.formatDuration(duration, "y M d"));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testFormatNegativeDuration() throws Exception {
|
||||
DurationFormatUtils.formatDuration(-5000, "S", true);
|
||||
@Test
|
||||
public void testFormatNegativeDuration() {
|
||||
assertThrows(IllegalArgumentException.class, () -> DurationFormatUtils.formatDuration(-5000, "S", true));
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
|
@ -282,9 +283,9 @@ public void testFormatPeriodISO() {
|
|||
// assertEquals("P1Y2M3DT10H30M", text);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testFormatPeriodISOStartGreaterEnd() throws Exception {
|
||||
DurationFormatUtils.formatPeriodISO(5000, 2000);
|
||||
@Test
|
||||
public void testFormatPeriodISOStartGreaterEnd() {
|
||||
assertThrows(IllegalArgumentException.class, () -> DurationFormatUtils.formatPeriodISO(5000, 2000));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -348,9 +349,9 @@ public void testFormatPeriod() {
|
|||
assertEquals("048", DurationFormatUtils.formatPeriod(time1970, time, "MMM"));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testFormatPeriodeStartGreaterEnd() throws Exception {
|
||||
DurationFormatUtils.formatPeriod(5000, 2500, "yy/MM");
|
||||
@Test
|
||||
public void testFormatPeriodeStartGreaterEnd() {
|
||||
assertThrows(IllegalArgumentException.class, () -> DurationFormatUtils.formatPeriod(5000, 2500, "yy/MM"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -396,13 +397,13 @@ public void testLexx() {
|
|||
|
||||
// test failures in equals
|
||||
final DurationFormatUtils.Token token = new DurationFormatUtils.Token(DurationFormatUtils.y, 4);
|
||||
assertFalse("Token equal to non-Token class. ", token.equals(new Object()));
|
||||
assertFalse("Token equal to Token with wrong value class. ", token.equals(new DurationFormatUtils.Token(
|
||||
new Object())));
|
||||
assertFalse("Token equal to Token with different count. ", token.equals(new DurationFormatUtils.Token(
|
||||
DurationFormatUtils.y, 1)));
|
||||
assertFalse(token.equals(new Object()), "Token equal to non-Token class. ");
|
||||
assertFalse(token.equals(new DurationFormatUtils.Token(new Object())),
|
||||
"Token equal to Token with wrong value class. ");
|
||||
assertFalse(token.equals(new DurationFormatUtils.Token(DurationFormatUtils.y, 1)),
|
||||
"Token equal to Token with different count. ");
|
||||
final DurationFormatUtils.Token numToken = new DurationFormatUtils.Token(Integer.valueOf(1), 4);
|
||||
assertTrue("Token with Number value not equal to itself. ", numToken.equals(numToken));
|
||||
assertTrue(numToken.equals(numToken), "Token with Number value not equal to itself. ");
|
||||
}
|
||||
|
||||
|
||||
|
@ -575,9 +576,9 @@ public void testDurationsByBruteForce() {
|
|||
//bruteForce(1996, 1, 29, "M", Calendar.MONTH); // this will fail
|
||||
}
|
||||
|
||||
@Test(expected=IllegalArgumentException.class)
|
||||
@Test
|
||||
public void testLANG981() { // unmatched quote char in lexx
|
||||
DurationFormatUtils.lexx("'yMdHms''S");
|
||||
assertThrows(IllegalArgumentException.class, () -> DurationFormatUtils.lexx("'yMdHms''S"));
|
||||
}
|
||||
|
||||
private static final int FOUR_YEARS = 365 * 3 + 366;
|
||||
|
@ -624,7 +625,7 @@ private void assertEqualDuration(final String message, final String expected, fi
|
|||
if (message == null) {
|
||||
assertEquals(expected, result);
|
||||
} else {
|
||||
assertEquals(message, expected, result);
|
||||
assertEquals(expected, result, message);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,12 +16,12 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotSame;
|
||||
import static org.junit.Assert.assertSame;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotSame;
|
||||
import static org.junit.jupiter.api.Assertions.assertSame;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.text.FieldPosition;
|
||||
import java.text.Format;
|
||||
|
@ -36,10 +36,9 @@
|
|||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.concurrent.atomic.AtomicLongArray;
|
||||
|
||||
import org.apache.commons.lang3.test.SystemDefaults;
|
||||
import org.apache.commons.lang3.test.SystemDefaultsSwitch;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junitpioneer.jupiter.DefaultLocale;
|
||||
import org.junitpioneer.jupiter.DefaultTimeZone;
|
||||
|
||||
/**
|
||||
* Unit tests {@link org.apache.commons.lang3.time.FastDateFormat}.
|
||||
|
@ -47,10 +46,6 @@
|
|||
* @since 2.0
|
||||
*/
|
||||
public class FastDateFormatTest {
|
||||
|
||||
@Rule
|
||||
public SystemDefaultsSwitch defaults = new SystemDefaultsSwitch();
|
||||
|
||||
/*
|
||||
* Only the cache methods need to be tested here.
|
||||
* The print methods are tested by {@link FastDateFormat_PrinterTest}
|
||||
|
@ -76,7 +71,8 @@ public void test_getInstance_String() {
|
|||
assertEquals(TimeZone.getDefault(), format2.getTimeZone());
|
||||
}
|
||||
|
||||
@SystemDefaults(timezone="America/New_York", locale="en_US")
|
||||
@DefaultLocale(language = "en", country = "US")
|
||||
@DefaultTimeZone("America/New_York")
|
||||
@Test
|
||||
public void test_getInstance_String_TimeZone() {
|
||||
|
||||
|
@ -96,7 +92,7 @@ public void test_getInstance_String_TimeZone() {
|
|||
assertNotSame(format4, format6);
|
||||
}
|
||||
|
||||
@SystemDefaults(locale="en_US")
|
||||
@DefaultLocale(language = "en", country = "US")
|
||||
@Test
|
||||
public void test_getInstance_String_Locale() {
|
||||
final FastDateFormat format1 = FastDateFormat.getInstance("MM/DD/yyyy", Locale.GERMANY);
|
||||
|
@ -108,7 +104,7 @@ public void test_getInstance_String_Locale() {
|
|||
assertEquals(Locale.GERMANY, format1.getLocale());
|
||||
}
|
||||
|
||||
@SystemDefaults(locale="en_US")
|
||||
@DefaultLocale(language = "en", country = "US")
|
||||
@Test
|
||||
public void test_changeDefault_Locale_DateInstance() {
|
||||
final FastDateFormat format1 = FastDateFormat.getDateInstance(FastDateFormat.FULL, Locale.GERMANY);
|
||||
|
@ -123,7 +119,7 @@ public void test_changeDefault_Locale_DateInstance() {
|
|||
assertNotSame(format2, format3);
|
||||
}
|
||||
|
||||
@SystemDefaults(locale="en_US")
|
||||
@DefaultLocale(language = "en", country = "US")
|
||||
@Test
|
||||
public void test_changeDefault_Locale_DateTimeInstance() {
|
||||
final FastDateFormat format1 = FastDateFormat.getDateTimeInstance(FastDateFormat.FULL, FastDateFormat.FULL, Locale.GERMANY);
|
||||
|
@ -138,7 +134,8 @@ public void test_changeDefault_Locale_DateTimeInstance() {
|
|||
assertNotSame(format2, format3);
|
||||
}
|
||||
|
||||
@SystemDefaults(locale="en_US", timezone="America/New_York")
|
||||
@DefaultLocale(language = "en", country = "US")
|
||||
@DefaultTimeZone("America/New_York")
|
||||
@Test
|
||||
public void test_getInstance_String_TimeZone_Locale() {
|
||||
final FastDateFormat format1 = FastDateFormat.getInstance("MM/DD/yyyy",
|
||||
|
|
|
@ -16,140 +16,131 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.ParsePosition;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
/**
|
||||
* Compare FastDateParser with SimpleDateFormat
|
||||
*/
|
||||
@RunWith(Parameterized.class)
|
||||
public class FastDateParserSDFTest {
|
||||
|
||||
@Parameters(name= "{index}: {0} {1} {2}")
|
||||
public static Collection<Object[]> data() {
|
||||
return Arrays.asList(new Object [][]{
|
||||
public static Stream<Arguments> data() {
|
||||
return Stream.of(
|
||||
// General Time zone tests
|
||||
{"z yyyy", "GMT 2010", Locale.UK, true}, // no offset specified, but this is allowed as a TimeZone name
|
||||
{"z yyyy", "GMT-123 2010", Locale.UK, false},
|
||||
{"z yyyy", "GMT-1234 2010", Locale.UK, false},
|
||||
{"z yyyy", "GMT-12:34 2010", Locale.UK, true},
|
||||
{"z yyyy", "GMT-1:23 2010", Locale.UK, true},
|
||||
Arguments.of("z yyyy", "GMT 2010", Locale.UK, true), // no offset specified, but this is allowed as a TimeZone name
|
||||
Arguments.of("z yyyy", "GMT-123 2010", Locale.UK, false),
|
||||
Arguments.of("z yyyy", "GMT-1234 2010", Locale.UK, false),
|
||||
Arguments.of("z yyyy", "GMT-12:34 2010", Locale.UK, true),
|
||||
Arguments.of("z yyyy", "GMT-1:23 2010", Locale.UK, true),
|
||||
// RFC 822 tests
|
||||
{"z yyyy", "-1234 2010", Locale.UK, true},
|
||||
{"z yyyy", "-12:34 2010", Locale.UK, false},
|
||||
{"z yyyy", "-123 2010", Locale.UK, false},
|
||||
Arguments.of("z yyyy", "-1234 2010", Locale.UK, true),
|
||||
Arguments.of("z yyyy", "-12:34 2010", Locale.UK, false),
|
||||
Arguments.of("z yyyy", "-123 2010", Locale.UK, false),
|
||||
// year tests
|
||||
{ "MM/dd/yyyy", "01/11/12", Locale.UK, true},
|
||||
{ "MM/dd/yy", "01/11/12", Locale.UK, true},
|
||||
Arguments.of( "MM/dd/yyyy", "01/11/12", Locale.UK, true),
|
||||
Arguments.of( "MM/dd/yy", "01/11/12", Locale.UK, true),
|
||||
|
||||
// LANG-1089
|
||||
{ "HH", "00", Locale.UK, true}, // Hour in day (0-23)
|
||||
{ "KK", "00", Locale.UK, true}, // Hour in am/pm (0-11)
|
||||
{ "hh", "00", Locale.UK, true}, // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
{ "kk", "00", Locale.UK, true}, // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
Arguments.of( "HH", "00", Locale.UK, true), // Hour in day (0-23)
|
||||
Arguments.of( "KK", "00", Locale.UK, true), // Hour in am/pm (0-11)
|
||||
Arguments.of( "hh", "00", Locale.UK, true), // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
Arguments.of( "kk", "00", Locale.UK, true), // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
|
||||
{ "HH", "01", Locale.UK, true}, // Hour in day (0-23)
|
||||
{ "KK", "01", Locale.UK, true}, // Hour in am/pm (0-11)
|
||||
{ "hh", "01", Locale.UK, true}, // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
{ "kk", "01", Locale.UK, true}, // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
Arguments.of( "HH", "01", Locale.UK, true), // Hour in day (0-23)
|
||||
Arguments.of( "KK", "01", Locale.UK, true), // Hour in am/pm (0-11)
|
||||
Arguments.of( "hh", "01", Locale.UK, true), // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
Arguments.of( "kk", "01", Locale.UK, true), // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
|
||||
{ "HH", "11", Locale.UK, true}, // Hour in day (0-23)
|
||||
{ "KK", "11", Locale.UK, true}, // Hour in am/pm (0-11)
|
||||
{ "hh", "11", Locale.UK, true}, // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
{ "kk", "11", Locale.UK, true}, // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
Arguments.of( "HH", "11", Locale.UK, true), // Hour in day (0-23)
|
||||
Arguments.of( "KK", "11", Locale.UK, true), // Hour in am/pm (0-11)
|
||||
Arguments.of( "hh", "11", Locale.UK, true), // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
Arguments.of( "kk", "11", Locale.UK, true), // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
|
||||
{ "HH", "12", Locale.UK, true}, // Hour in day (0-23)
|
||||
{ "KK", "12", Locale.UK, true}, // Hour in am/pm (0-11)
|
||||
{ "hh", "12", Locale.UK, true}, // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
{ "kk", "12", Locale.UK, true}, // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
Arguments.of( "HH", "12", Locale.UK, true), // Hour in day (0-23)
|
||||
Arguments.of( "KK", "12", Locale.UK, true), // Hour in am/pm (0-11)
|
||||
Arguments.of( "hh", "12", Locale.UK, true), // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
Arguments.of( "kk", "12", Locale.UK, true), // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
|
||||
{ "HH", "13", Locale.UK, true}, // Hour in day (0-23)
|
||||
{ "KK", "13", Locale.UK, true}, // Hour in am/pm (0-11)
|
||||
{ "hh", "13", Locale.UK, true}, // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
{ "kk", "13", Locale.UK, true}, // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
Arguments.of( "HH", "13", Locale.UK, true), // Hour in day (0-23)
|
||||
Arguments.of( "KK", "13", Locale.UK, true), // Hour in am/pm (0-11)
|
||||
Arguments.of( "hh", "13", Locale.UK, true), // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
Arguments.of( "kk", "13", Locale.UK, true), // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
|
||||
{ "HH", "23", Locale.UK, true}, // Hour in day (0-23)
|
||||
{ "KK", "23", Locale.UK, true}, // Hour in am/pm (0-11)
|
||||
{ "hh", "23", Locale.UK, true}, // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
{ "kk", "23", Locale.UK, true}, // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
Arguments.of( "HH", "23", Locale.UK, true), // Hour in day (0-23)
|
||||
Arguments.of( "KK", "23", Locale.UK, true), // Hour in am/pm (0-11)
|
||||
Arguments.of( "hh", "23", Locale.UK, true), // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
Arguments.of( "kk", "23", Locale.UK, true), // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
|
||||
{ "HH", "24", Locale.UK, true}, // Hour in day (0-23)
|
||||
{ "KK", "24", Locale.UK, true}, // Hour in am/pm (0-11)
|
||||
{ "hh", "24", Locale.UK, true}, // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
{ "kk", "24", Locale.UK, true}, // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
Arguments.of( "HH", "24", Locale.UK, true), // Hour in day (0-23)
|
||||
Arguments.of( "KK", "24", Locale.UK, true), // Hour in am/pm (0-11)
|
||||
Arguments.of( "hh", "24", Locale.UK, true), // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
Arguments.of( "kk", "24", Locale.UK, true), // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
|
||||
{ "HH", "25", Locale.UK, true}, // Hour in day (0-23)
|
||||
{ "KK", "25", Locale.UK, true}, // Hour in am/pm (0-11)
|
||||
{ "hh", "25", Locale.UK, true}, // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
{ "kk", "25", Locale.UK, true}, // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
Arguments.of( "HH", "25", Locale.UK, true), // Hour in day (0-23)
|
||||
Arguments.of( "KK", "25", Locale.UK, true), // Hour in am/pm (0-11)
|
||||
Arguments.of( "hh", "25", Locale.UK, true), // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
Arguments.of( "kk", "25", Locale.UK, true), // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
|
||||
{ "HH", "48", Locale.UK, true}, // Hour in day (0-23)
|
||||
{ "KK", "48", Locale.UK, true}, // Hour in am/pm (0-11)
|
||||
{ "hh", "48", Locale.UK, true}, // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
{ "kk", "48", Locale.UK, true}, // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
});
|
||||
Arguments.of( "HH", "48", Locale.UK, true), // Hour in day (0-23)
|
||||
Arguments.of( "KK", "48", Locale.UK, true), // Hour in am/pm (0-11)
|
||||
Arguments.of( "hh", "48", Locale.UK, true), // Hour in am/pm (1-12), i.e. midday/midnight is 12, not 0
|
||||
Arguments.of( "kk", "48", Locale.UK, true) // Hour in day (1-24), i.e. midnight is 24, not 0
|
||||
);
|
||||
}
|
||||
|
||||
private final String format;
|
||||
private final String input;
|
||||
private final Locale locale;
|
||||
private final boolean valid;
|
||||
private final TimeZone timeZone = TimeZone.getDefault();
|
||||
private static final TimeZone timeZone = TimeZone.getDefault();
|
||||
|
||||
public FastDateParserSDFTest(final String format, final String input, final Locale locale, final boolean valid) {
|
||||
this.format = format;
|
||||
this.input = input;
|
||||
this.locale = locale;
|
||||
this.valid = valid;
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testOriginal(final String format, final String input, final Locale locale, final boolean valid) {
|
||||
checkParse(input, format, locale, valid);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOriginal() throws Exception {
|
||||
checkParse(input);
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testOriginalPP(final String format, final String input, final Locale locale, final boolean valid) {
|
||||
checkParsePosition(input, format, locale, valid);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOriginalPP() throws Exception {
|
||||
checkParsePosition(input);
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testUpperCase(final String format, final String input, final Locale locale, final boolean valid) {
|
||||
checkParse(input.toUpperCase(locale), format, locale, valid);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpperCase() throws Exception {
|
||||
checkParse(input.toUpperCase(locale));
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testUpperCasePP(final String format, final String input, final Locale locale, final boolean valid) {
|
||||
checkParsePosition(input.toUpperCase(locale), format, locale, valid);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpperCasePP() throws Exception {
|
||||
checkParsePosition(input.toUpperCase(locale));
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testLowerCase(final String format, final String input, final Locale locale, final boolean valid) {
|
||||
checkParse(input.toLowerCase(locale), format, locale, valid);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLowerCase() throws Exception {
|
||||
checkParse(input.toLowerCase(locale));
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testLowerCasePP(final String format, final String input, final Locale locale, final boolean valid) {
|
||||
checkParsePosition(input.toLowerCase(locale), format, locale, valid);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLowerCasePP() throws Exception {
|
||||
checkParsePosition(input.toLowerCase(locale));
|
||||
}
|
||||
|
||||
private void checkParse(final String formattedDate) {
|
||||
private void checkParse(final String formattedDate, String format, Locale locale, boolean valid) {
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat(format, locale);
|
||||
sdf.setTimeZone(timeZone);
|
||||
final DateParser fdf = new FastDateParser(format, timeZone, locale);
|
||||
|
@ -184,12 +175,12 @@ private void checkParse(final String formattedDate) {
|
|||
fdfE = e.getClass();
|
||||
}
|
||||
if (valid) {
|
||||
assertEquals(locale.toString()+" "+formattedDate +"\n",expectedTime, actualTime);
|
||||
assertEquals(expectedTime, actualTime, locale.toString()+" "+formattedDate +"\n");
|
||||
} else {
|
||||
assertEquals(locale.toString()+" "+formattedDate + " expected same Exception ", sdfE, fdfE);
|
||||
assertEquals(sdfE, fdfE, locale.toString()+" "+formattedDate + " expected same Exception ");
|
||||
}
|
||||
}
|
||||
private void checkParsePosition(final String formattedDate) {
|
||||
private void checkParsePosition(final String formattedDate, String format, Locale locale, boolean valid) {
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat(format, locale);
|
||||
sdf.setTimeZone(timeZone);
|
||||
final DateParser fdf = new FastDateParser(format, timeZone, locale);
|
||||
|
@ -198,7 +189,7 @@ private void checkParsePosition(final String formattedDate) {
|
|||
final Date expectedTime = sdf.parse(formattedDate, sdfP);
|
||||
final int sdferrorIndex = sdfP.getErrorIndex();
|
||||
if (valid) {
|
||||
assertEquals("Expected SDF error index -1 ", -1, sdferrorIndex);
|
||||
assertEquals(-1, sdferrorIndex, "Expected SDF error index -1 ");
|
||||
final int endIndex = sdfP.getIndex();
|
||||
final int length = formattedDate.length();
|
||||
if (endIndex != length) {
|
||||
|
@ -216,15 +207,15 @@ private void checkParsePosition(final String formattedDate) {
|
|||
final Date actualTime = fdf.parse(formattedDate, fdfP);
|
||||
final int fdferrorIndex = fdfP.getErrorIndex();
|
||||
if (valid) {
|
||||
assertEquals("Expected FDF error index -1 ", -1, fdferrorIndex);
|
||||
assertEquals(-1, fdferrorIndex, "Expected FDF error index -1 ");
|
||||
final int endIndex = fdfP.getIndex();
|
||||
final int length = formattedDate.length();
|
||||
assertEquals("Expected FDF to parse full string " + fdfP, length, endIndex);
|
||||
assertEquals(locale.toString()+" "+formattedDate +"\n", expectedTime, actualTime);
|
||||
assertEquals(length, endIndex, "Expected FDF to parse full string " + fdfP);
|
||||
assertEquals(expectedTime, actualTime, locale.toString()+" "+formattedDate +"\n");
|
||||
} else {
|
||||
assertNotEquals("Test data error: expected FDF parse to fail, but got " + actualTime, -1, fdferrorIndex);
|
||||
assertTrue("FDF error index ("+ fdferrorIndex + ") should approximate SDF index (" + sdferrorIndex + ")",
|
||||
sdferrorIndex - fdferrorIndex <= 4);
|
||||
assertNotEquals(-1, fdferrorIndex, "Test data error: expected FDF parse to fail, but got " + actualTime);
|
||||
assertTrue(sdferrorIndex - fdferrorIndex <= 4,
|
||||
"FDF error index ("+ fdferrorIndex + ") should approximate SDF index (" + sdferrorIndex + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,10 +16,11 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.text.ParseException;
|
||||
|
@ -34,7 +35,7 @@
|
|||
import java.util.TimeZone;
|
||||
import org.apache.commons.lang3.LocaleUtils;
|
||||
import org.apache.commons.lang3.SerializationUtils;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Unit tests {@link org.apache.commons.lang3.time.FastDateParser}.
|
||||
|
@ -224,7 +225,7 @@ private void validateSdfFormatFdpParseEquality(final String format, final Locale
|
|||
final String fmt = sdf.format(in);
|
||||
try {
|
||||
final Date out = fdp.parse(fmt);
|
||||
assertEquals(locale.toString()+" "+in+" "+ format+ " "+tz.getID(), in, out);
|
||||
assertEquals(in, out, locale.toString()+" "+in+" "+ format+ " "+tz.getID());
|
||||
} catch (final ParseException pe) {
|
||||
if (year >= 1868 || !locale.getCountry().equals("JP")) {// LANG-978
|
||||
throw pe;
|
||||
|
@ -271,7 +272,7 @@ public void testTzParses() throws Exception {
|
|||
final Date expected= cal.getTime();
|
||||
|
||||
final Date actual = fdp.parse("2000/02/10 "+tz.getDisplayName(locale));
|
||||
assertEquals("tz:"+tz.getID()+" locale:"+locale.getDisplayName(), expected, actual);
|
||||
assertEquals(expected, actual, "tz:"+tz.getID()+" locale:"+locale.getDisplayName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -385,7 +386,7 @@ private void checkParse(final Locale locale, final Calendar cal, final SimpleDat
|
|||
private void checkParse(final Locale locale, final SimpleDateFormat sdf, final DateParser fdf, final String formattedDate) throws ParseException {
|
||||
final Date expectedTime = sdf.parse(formattedDate);
|
||||
final Date actualTime = fdf.parse(formattedDate);
|
||||
assertEquals(locale.toString()+" "+formattedDate +"\n",expectedTime, actualTime);
|
||||
assertEquals(expectedTime, actualTime, locale.toString()+" "+formattedDate +"\n");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -473,8 +474,8 @@ private void testSdfAndFdp(final String format, final String date, final boolean
|
|||
}
|
||||
}
|
||||
// SDF and FDF should produce equivalent results
|
||||
assertTrue("Should both or neither throw Exceptions", (f==null)==(s==null));
|
||||
assertEquals("Parsed dates should be equal", dsdf, dfdp);
|
||||
assertTrue((f==null)==(s==null), "Should both or neither throw Exceptions");
|
||||
assertEquals(dsdf, dfdp, "Parsed dates should be equal");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -604,9 +605,9 @@ public void testLang996() throws ParseException {
|
|||
assertEquals(expected.getTime(), fdp.parse("14May2014"));
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void test1806Argument() {
|
||||
getInstance("XXXX");
|
||||
assertThrows(IllegalArgumentException.class, () -> getInstance("XXXX"));
|
||||
}
|
||||
|
||||
private static Calendar initializeCalendar(final TimeZone tz) {
|
||||
|
@ -652,13 +653,13 @@ public void test1806() throws ParseException {
|
|||
final String message = trial.zone.getDisplayName()+";";
|
||||
|
||||
DateParser parser = getInstance(formatStub+"X", trial.zone);
|
||||
assertEquals(message+trial.one, cal.getTime().getTime(), parser.parse(dateStub+trial.one).getTime()-trial.offset);
|
||||
assertEquals(cal.getTime().getTime(), parser.parse(dateStub+trial.one).getTime()-trial.offset, message+trial.one);
|
||||
|
||||
parser = getInstance(formatStub+"XX", trial.zone);
|
||||
assertEquals(message+trial.two, cal.getTime(), parser.parse(dateStub+trial.two));
|
||||
assertEquals(cal.getTime(), parser.parse(dateStub+trial.two), message+trial.two);
|
||||
|
||||
parser = getInstance(formatStub+"XXX", trial.zone);
|
||||
assertEquals(message+trial.three, cal.getTime(), parser.parse(dateStub+trial.three));
|
||||
assertEquals(cal.getTime(), parser.parse(dateStub+trial.three), message+trial.three);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
import java.text.ParsePosition;
|
||||
import java.util.Calendar;
|
||||
|
@ -26,7 +26,7 @@
|
|||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class FastDateParser_MoreOrLessTest {
|
||||
|
||||
|
|
|
@ -16,9 +16,10 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.text.FieldPosition;
|
||||
|
@ -31,10 +32,9 @@
|
|||
import java.util.TimeZone;
|
||||
|
||||
import org.apache.commons.lang3.SerializationUtils;
|
||||
import org.apache.commons.lang3.test.SystemDefaults;
|
||||
import org.apache.commons.lang3.test.SystemDefaultsSwitch;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junitpioneer.jupiter.DefaultLocale;
|
||||
import org.junitpioneer.jupiter.DefaultTimeZone;
|
||||
|
||||
/**
|
||||
* Unit tests {@link org.apache.commons.lang3.time.FastDatePrinter}.
|
||||
|
@ -76,10 +76,8 @@ protected DatePrinter getInstance(final String format, final TimeZone timeZone,
|
|||
return new FastDatePrinter(format, timeZone, locale);
|
||||
}
|
||||
|
||||
@Rule
|
||||
public SystemDefaultsSwitch defaults = new SystemDefaultsSwitch();
|
||||
|
||||
@SystemDefaults(timezone="America/New_York", locale="en_US")
|
||||
@DefaultLocale(language = "en", country = "US")
|
||||
@DefaultTimeZone("America/New_York")
|
||||
@Test
|
||||
public void testFormat() {
|
||||
final GregorianCalendar cal1 = new GregorianCalendar(2003, 0, 10, 15, 33, 20);
|
||||
|
@ -210,8 +208,8 @@ public void testLang538() {
|
|||
cal.set(2009, Calendar.OCTOBER, 16, 8, 42, 16);
|
||||
|
||||
final DatePrinter format = getInstance("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", TimeZone.getTimeZone("GMT"));
|
||||
assertEquals("dateTime", "2009-10-16T16:42:16.000Z", format.format(cal.getTime()));
|
||||
assertEquals("dateTime", "2009-10-16T16:42:16.000Z", format.format(cal));
|
||||
assertEquals("2009-10-16T16:42:16.000Z", format.format(cal.getTime()), "dateTime");
|
||||
assertEquals("2009-10-16T16:42:16.000Z", format.format(cal), "dateTime");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -262,7 +260,7 @@ public void testTimeZoneMatches() {
|
|||
assertEquals(NEW_YORK, printer.getTimeZone());
|
||||
}
|
||||
|
||||
@SystemDefaults(timezone="UTC")
|
||||
@DefaultTimeZone("UTC")
|
||||
@Test
|
||||
public void testTimeZoneAsZ() throws Exception {
|
||||
final Calendar c = Calendar.getInstance(FastTimeZone.getGmtTimeZone());
|
||||
|
@ -288,9 +286,9 @@ private static Calendar initializeCalendar(final TimeZone tz) {
|
|||
return cal;
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void test1806Argument() {
|
||||
getInstance("XXXX");
|
||||
assertThrows(IllegalArgumentException.class, () -> getInstance("XXXX"));
|
||||
}
|
||||
|
||||
private enum Expected1806 {
|
||||
|
@ -354,15 +352,15 @@ public void testLang916() throws Exception {
|
|||
// calendar fast.
|
||||
{
|
||||
final String value = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss Z", TimeZone.getTimeZone("Europe/Paris")).format(cal);
|
||||
assertEquals("calendar", "2009-10-16T08:42:16 +0200", value);
|
||||
assertEquals("2009-10-16T08:42:16 +0200", value, "calendar");
|
||||
}
|
||||
{
|
||||
final String value = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss Z", TimeZone.getTimeZone("Asia/Kolkata")).format(cal);
|
||||
assertEquals("calendar", "2009-10-16T12:12:16 +0530", value);
|
||||
assertEquals("2009-10-16T12:12:16 +0530", value, "calendar");
|
||||
}
|
||||
{
|
||||
final String value = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss Z", TimeZone.getTimeZone("Europe/London")).format(cal);
|
||||
assertEquals("calendar", "2009-10-16T07:42:16 +0100", value);
|
||||
assertEquals("2009-10-16T07:42:16 +0100", value, "calendar");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,48 +16,34 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.TimeZone;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class FastDatePrinterTimeZonesTest {
|
||||
|
||||
private static final String PATTERN = "h:mma z";
|
||||
|
||||
@Parameterized.Parameters
|
||||
public static Collection<TimeZone> data() {
|
||||
final String[] zoneIds = TimeZone.getAvailableIDs();
|
||||
final List<TimeZone> timeZones = new ArrayList<>();
|
||||
for (final String zoneId : zoneIds) {
|
||||
timeZones.add(TimeZone.getTimeZone(zoneId));
|
||||
}
|
||||
return timeZones;
|
||||
public static Stream<TimeZone> data() {
|
||||
return Arrays.stream(TimeZone.getAvailableIDs()).map(TimeZone::getTimeZone);
|
||||
}
|
||||
|
||||
private final TimeZone timeZone;
|
||||
|
||||
public FastDatePrinterTimeZonesTest(final TimeZone timeZone) {
|
||||
this.timeZone = timeZone;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCalendarTimezoneRespected() {
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testCalendarTimezoneRespected(TimeZone timeZone) {
|
||||
final Calendar cal = Calendar.getInstance(timeZone);
|
||||
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat(PATTERN);
|
||||
sdf.setTimeZone(timeZone);
|
||||
final String expectedValue = sdf.format(cal.getTime());
|
||||
final String actualValue = FastDateFormat.getInstance(PATTERN, this.timeZone).format(cal);
|
||||
final String actualValue = FastDateFormat.getInstance(PATTERN, timeZone).format(cal);
|
||||
assertEquals(expectedValue, actualValue);
|
||||
}
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.util.TimeZone;
|
||||
|
||||
|
|
|
@ -16,19 +16,20 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Tests for GmtTimeZone
|
||||
*/
|
||||
public class GmtTimeZoneTest {
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void hoursOutOfRange() {
|
||||
new GmtTimeZone(false, 24, 0);
|
||||
assertThrows(IllegalArgumentException.class, () -> new GmtTimeZone(false, 24, 0));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -36,9 +37,9 @@ public void hoursInRange() {
|
|||
assertEquals(23 * 60 * 60 * 1000, new GmtTimeZone(false, 23, 0).getRawOffset());
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
@Test
|
||||
public void minutesOutOfRange() {
|
||||
new GmtTimeZone(false, 0, 60);
|
||||
assertThrows(IllegalArgumentException.class, () -> new GmtTimeZone(false, 0, 60));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -51,9 +52,9 @@ public void getOffset() {
|
|||
assertEquals(0, new GmtTimeZone(false, 0, 0).getOffset(234304));
|
||||
}
|
||||
|
||||
@Test(expected = UnsupportedOperationException.class)
|
||||
@Test
|
||||
public void setRawOffset() {
|
||||
new GmtTimeZone(false, 0, 0).setRawOffset(0);
|
||||
assertThrows(UnsupportedOperationException.class, () -> new GmtTimeZone(false, 0, 0).setRawOffset(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -16,15 +16,15 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.apache.commons.lang3.reflect.FieldUtils;
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* TestCase for StopWatch.
|
||||
|
@ -109,8 +109,7 @@ public void testStopWatchSplit() {
|
|||
watch.stop();
|
||||
final long totalTime = watch.getTime();
|
||||
|
||||
assertEquals("Formatted split string not the correct length",
|
||||
splitStr.length(), 12);
|
||||
assertEquals(splitStr.length(), 12, "Formatted split string not the correct length");
|
||||
assertTrue(splitTime >= 500);
|
||||
assertTrue(splitTime < 700);
|
||||
assertTrue(totalTime >= 1500);
|
||||
|
|
|
@ -16,58 +16,45 @@
|
|||
*/
|
||||
package org.apache.commons.lang3.time;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.ParsePosition;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Parameterized;
|
||||
import org.junit.runners.Parameterized.Parameters;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
@RunWith(Parameterized.class)
|
||||
public class WeekYearTest {
|
||||
|
||||
@Parameters(name = "{index}: {3}")
|
||||
public static Collection<Object[]> data() {
|
||||
return Arrays
|
||||
.asList(new Object[][] {
|
||||
{ 2005, Calendar.JANUARY, 1, "2004-W53-6" },
|
||||
{ 2005, Calendar.JANUARY, 2, "2004-W53-7" },
|
||||
{ 2005, Calendar.DECEMBER, 31, "2005-W52-6" },
|
||||
{ 2007, Calendar.JANUARY, 1, "2007-W01-1" },
|
||||
{ 2007, Calendar.DECEMBER, 30, "2007-W52-7" },
|
||||
{ 2007, Calendar.DECEMBER, 31, "2008-W01-1" },
|
||||
{ 2008, Calendar.JANUARY, 1, "2008-W01-2" },
|
||||
{ 2008, Calendar.DECEMBER, 28, "2008-W52-7" },
|
||||
{ 2008, Calendar.DECEMBER, 29, "2009-W01-1" },
|
||||
{ 2008, Calendar.DECEMBER, 30, "2009-W01-2" },
|
||||
{ 2008, Calendar.DECEMBER, 31, "2009-W01-3" },
|
||||
{ 2009, Calendar.JANUARY, 1, "2009-W01-4" },
|
||||
{ 2009, Calendar.DECEMBER, 31, "2009-W53-4" },
|
||||
{ 2010, Calendar.JANUARY, 1, "2009-W53-5" },
|
||||
{ 2010, Calendar.JANUARY, 2, "2009-W53-6" },
|
||||
{ 2010, Calendar.JANUARY, 3, "2009-W53-7" }
|
||||
});
|
||||
public static Stream<Arguments> data() {
|
||||
return Stream.of(
|
||||
Arguments.of(new GregorianCalendar( 2005, Calendar.JANUARY, 1), "2004-W53-6"),
|
||||
Arguments.of(new GregorianCalendar( 2005, Calendar.JANUARY, 2), "2004-W53-7"),
|
||||
Arguments.of(new GregorianCalendar( 2005, Calendar.DECEMBER, 31), "2005-W52-6"),
|
||||
Arguments.of(new GregorianCalendar( 2007, Calendar.JANUARY, 1), "2007-W01-1"),
|
||||
Arguments.of(new GregorianCalendar( 2007, Calendar.DECEMBER, 30), "2007-W52-7"),
|
||||
Arguments.of(new GregorianCalendar( 2007, Calendar.DECEMBER, 31), "2008-W01-1"),
|
||||
Arguments.of(new GregorianCalendar( 2008, Calendar.JANUARY, 1), "2008-W01-2"),
|
||||
Arguments.of(new GregorianCalendar( 2008, Calendar.DECEMBER, 28), "2008-W52-7"),
|
||||
Arguments.of(new GregorianCalendar( 2008, Calendar.DECEMBER, 29), "2009-W01-1"),
|
||||
Arguments.of(new GregorianCalendar( 2008, Calendar.DECEMBER, 30), "2009-W01-2"),
|
||||
Arguments.of(new GregorianCalendar( 2008, Calendar.DECEMBER, 31), "2009-W01-3"),
|
||||
Arguments.of(new GregorianCalendar( 2009, Calendar.JANUARY, 1), "2009-W01-4"),
|
||||
Arguments.of(new GregorianCalendar( 2009, Calendar.DECEMBER, 31), "2009-W53-4"),
|
||||
Arguments.of(new GregorianCalendar( 2010, Calendar.JANUARY, 1), "2009-W53-5"),
|
||||
Arguments.of(new GregorianCalendar( 2010, Calendar.JANUARY, 2), "2009-W53-6"),
|
||||
Arguments.of(new GregorianCalendar( 2010, Calendar.JANUARY, 3), "2009-W53-7")
|
||||
);
|
||||
}
|
||||
|
||||
final Calendar vulgar;
|
||||
final String isoForm;
|
||||
|
||||
public WeekYearTest(final int year, final int month, final int day, final String isoForm) {
|
||||
vulgar = new GregorianCalendar(year, month, day);
|
||||
this.isoForm = isoForm;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testParser() throws ParseException {
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testParser(Calendar vulgar, String isoForm) {
|
||||
final DateParser parser = new FastDateParser("YYYY-'W'ww-u", TimeZone.getDefault(), Locale.getDefault());
|
||||
|
||||
final Calendar cal = Calendar.getInstance();
|
||||
|
@ -79,8 +66,9 @@ public void testParser() throws ParseException {
|
|||
assertEquals(vulgar.getTime(), cal.getTime());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPrinter() {
|
||||
@ParameterizedTest
|
||||
@MethodSource("data")
|
||||
public void testPrinter(Calendar vulgar, String isoForm) {
|
||||
final FastDatePrinter printer = new FastDatePrinter("YYYY-'W'ww-u", TimeZone.getDefault(), Locale.getDefault());
|
||||
|
||||
vulgar.setMinimalDaysInFirstWeek(4);
|
||||
|
|
Loading…
Reference in New Issue