From 2925ae80f2e97ea280ce29ca7a6b00de6778a296 Mon Sep 17 00:00:00 2001 From: sigee Date: Thu, 26 Dec 2024 20:05:09 +0100 Subject: [PATCH 1/5] Order and separate test case blocks 1. null 2. default 3. US locale 4. pattern A 5. pattern B 6. pattern German 2-6 again with EST Time Zone --- .../routines/CalendarValidatorTest.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java index ca0c26c43..d2f6b8324 100644 --- a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java +++ b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java @@ -271,34 +271,34 @@ protected Object processParsedValue(final Object value, final Format formatter) public void testFormat() { final Calendar cal20051231 = createCalendar(TimeZones.GMT, 20051231, 11500); // validator defaults to SHORT, but the format varies between JVMs + assertNull(calValidator.format(null), "null"); + final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); final String val = df.format(cal20051231.getTime()); + assertEquals(val, calValidator.format(cal20051231), "default"); + final DateFormat dfus = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US); final String usval = dfus.format(cal20051231.getTime()); - final String germanPattern = "dd MMM yyyy"; - final DateFormat dedf = new SimpleDateFormat(germanPattern, Locale.GERMAN); - final String deval = dedf.format(cal20051231.getTime()); - assertNull(calValidator.format(null), "null"); - assertEquals(val, calValidator.format(cal20051231), "default"); assertEquals(usval, calValidator.format(cal20051231, Locale.US), "locale"); + assertEquals("2005-12-31 01:15", calValidator.format(cal20051231, "yyyy-MM-dd HH:mm"), "patternA"); + assertEquals("2005-12-31 GMT", calValidator.format(cal20051231, "yyyy-MM-dd z"), "patternB"); + + final String germanPattern = "dd MMM yyyy"; + final DateFormat dedf = new SimpleDateFormat(germanPattern, Locale.GERMAN); + final String deval = dedf.format(cal20051231.getTime()); assertEquals(deval, calValidator.format(cal20051231, germanPattern, Locale.GERMAN), "both"); // EST Time Zone final DateFormat dfest = DateFormat.getDateInstance(DateFormat.SHORT); dfest.setTimeZone(TestTimeZones.EST); final String valest = dfest.format(cal20051231.getTime()); + assertEquals(valest, calValidator.format(cal20051231, TestTimeZones.EST), "EST default"); final DateFormat dfusest = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US); dfusest.setTimeZone(TestTimeZones.EST); final String valusest = dfusest.format(cal20051231.getTime()); - - final DateFormat dedfest = new SimpleDateFormat(germanPattern, Locale.GERMAN); - dedfest.setTimeZone(TestTimeZones.EST); - final String devalest = dedfest.format(cal20051231.getTime()); - - assertEquals(valest, calValidator.format(cal20051231, TestTimeZones.EST), "EST default"); assertEquals(valusest, calValidator.format(cal20051231, Locale.US, TestTimeZones.EST), "EST locale"); final String patternA = "yyyy-MM-dd HH:mm"; @@ -311,8 +311,11 @@ public void testFormat() { final DateFormat dfB = new SimpleDateFormat(patternB); dfB.setTimeZone(TestTimeZones.EST); final String valB = dfB.format(cal20051231.getTime()); - assertEquals(valB, calValidator.format(cal20051231, patternB, TestTimeZones.EST), "EST patternB"); + + final DateFormat dedfest = new SimpleDateFormat(germanPattern, Locale.GERMAN); + dedfest.setTimeZone(TestTimeZones.EST); + final String devalest = dedfest.format(cal20051231.getTime()); assertEquals(devalest, calValidator.format(cal20051231, germanPattern, Locale.GERMAN, TestTimeZones.EST), "EST both"); } From a1514adb1b70e5805b17e3fa748e32513009cd98 Mon Sep 17 00:00:00 2001 From: sigee Date: Thu, 26 Dec 2024 20:08:52 +0100 Subject: [PATCH 2/5] Rename variables --- .../routines/CalendarValidatorTest.java | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java index d2f6b8324..ac3c236c2 100644 --- a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java +++ b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java @@ -277,29 +277,29 @@ public void testFormat() { final String val = df.format(cal20051231.getTime()); assertEquals(val, calValidator.format(cal20051231), "default"); - final DateFormat dfus = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US); - final String usval = dfus.format(cal20051231.getTime()); - assertEquals(usval, calValidator.format(cal20051231, Locale.US), "locale"); + final DateFormat dfUs = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US); + final String valUs = dfUs.format(cal20051231.getTime()); + assertEquals(valUs, calValidator.format(cal20051231, Locale.US), "locale"); assertEquals("2005-12-31 01:15", calValidator.format(cal20051231, "yyyy-MM-dd HH:mm"), "patternA"); assertEquals("2005-12-31 GMT", calValidator.format(cal20051231, "yyyy-MM-dd z"), "patternB"); - final String germanPattern = "dd MMM yyyy"; - final DateFormat dedf = new SimpleDateFormat(germanPattern, Locale.GERMAN); - final String deval = dedf.format(cal20051231.getTime()); - assertEquals(deval, calValidator.format(cal20051231, germanPattern, Locale.GERMAN), "both"); + final String patternGerman = "dd MMM yyyy"; + final DateFormat dfGerman = new SimpleDateFormat(patternGerman, Locale.GERMAN); + final String valGerman = dfGerman.format(cal20051231.getTime()); + assertEquals(valGerman, calValidator.format(cal20051231, patternGerman, Locale.GERMAN), "both"); // EST Time Zone - final DateFormat dfest = DateFormat.getDateInstance(DateFormat.SHORT); - dfest.setTimeZone(TestTimeZones.EST); - final String valest = dfest.format(cal20051231.getTime()); - assertEquals(valest, calValidator.format(cal20051231, TestTimeZones.EST), "EST default"); + final DateFormat dfEst = DateFormat.getDateInstance(DateFormat.SHORT); + dfEst.setTimeZone(TestTimeZones.EST); + final String valEst = dfEst.format(cal20051231.getTime()); + assertEquals(valEst, calValidator.format(cal20051231, TestTimeZones.EST), "EST default"); - final DateFormat dfusest = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US); - dfusest.setTimeZone(TestTimeZones.EST); - final String valusest = dfusest.format(cal20051231.getTime()); - assertEquals(valusest, calValidator.format(cal20051231, Locale.US, TestTimeZones.EST), "EST locale"); + final DateFormat dfUsEst = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US); + dfUsEst.setTimeZone(TestTimeZones.EST); + final String valUsEst = dfUsEst.format(cal20051231.getTime()); + assertEquals(valUsEst, calValidator.format(cal20051231, Locale.US, TestTimeZones.EST), "EST locale"); final String patternA = "yyyy-MM-dd HH:mm"; final DateFormat dfA = new SimpleDateFormat(patternA); @@ -313,10 +313,10 @@ public void testFormat() { final String valB = dfB.format(cal20051231.getTime()); assertEquals(valB, calValidator.format(cal20051231, patternB, TestTimeZones.EST), "EST patternB"); - final DateFormat dedfest = new SimpleDateFormat(germanPattern, Locale.GERMAN); - dedfest.setTimeZone(TestTimeZones.EST); - final String devalest = dedfest.format(cal20051231.getTime()); - assertEquals(devalest, calValidator.format(cal20051231, germanPattern, Locale.GERMAN, TestTimeZones.EST), "EST both"); + final DateFormat dfGermanEst = new SimpleDateFormat(patternGerman, Locale.GERMAN); + dfGermanEst.setTimeZone(TestTimeZones.EST); + final String valGermanEst = dfGermanEst.format(cal20051231.getTime()); + assertEquals(valGermanEst, calValidator.format(cal20051231, patternGerman, Locale.GERMAN, TestTimeZones.EST), "EST both"); } } From 2cfc06479307e82f4d782fddf9e542a82168dc30 Mon Sep 17 00:00:00 2001 From: sigee Date: Thu, 26 Dec 2024 20:21:54 +0100 Subject: [PATCH 3/5] Reorganize statements --- .../routines/CalendarValidatorTest.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java index ac3c236c2..e035a0114 100644 --- a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java +++ b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java @@ -281,14 +281,20 @@ public void testFormat() { final String valUs = dfUs.format(cal20051231.getTime()); assertEquals(valUs, calValidator.format(cal20051231, Locale.US), "locale"); - assertEquals("2005-12-31 01:15", calValidator.format(cal20051231, "yyyy-MM-dd HH:mm"), "patternA"); + final String patternA = "yyyy-MM-dd HH:mm"; + final DateFormat dfA = new SimpleDateFormat(patternA); + final String valA = dfA.format(cal20051231.getTime()); + assertEquals(valA, calValidator.format(cal20051231, patternA), "patternA"); - assertEquals("2005-12-31 GMT", calValidator.format(cal20051231, "yyyy-MM-dd z"), "patternB"); + final String patternB = "yyyy-MM-dd z"; + final DateFormat dfB = new SimpleDateFormat(patternB); + final String valB = dfB.format(cal20051231.getTime()); + assertEquals(valB, calValidator.format(cal20051231, patternB), "patternB"); final String patternGerman = "dd MMM yyyy"; final DateFormat dfGerman = new SimpleDateFormat(patternGerman, Locale.GERMAN); final String valGerman = dfGerman.format(cal20051231.getTime()); - assertEquals(valGerman, calValidator.format(cal20051231, patternGerman, Locale.GERMAN), "both"); + assertEquals(valGerman, calValidator.format(cal20051231, patternGerman, Locale.GERMAN), "patternGerman"); // EST Time Zone final DateFormat dfEst = DateFormat.getDateInstance(DateFormat.SHORT); @@ -301,22 +307,18 @@ public void testFormat() { final String valUsEst = dfUsEst.format(cal20051231.getTime()); assertEquals(valUsEst, calValidator.format(cal20051231, Locale.US, TestTimeZones.EST), "EST locale"); - final String patternA = "yyyy-MM-dd HH:mm"; - final DateFormat dfA = new SimpleDateFormat(patternA); dfA.setTimeZone(TestTimeZones.EST); - final String valA = dfA.format(cal20051231.getTime()); - assertEquals(valA, calValidator.format(cal20051231, patternA, TestTimeZones.EST), "EST patternA"); + final String valAEst = dfA.format(cal20051231.getTime()); + assertEquals(valAEst, calValidator.format(cal20051231, patternA, TestTimeZones.EST), "EST patternA"); - final String patternB = "yyyy-MM-dd z"; - final DateFormat dfB = new SimpleDateFormat(patternB); dfB.setTimeZone(TestTimeZones.EST); - final String valB = dfB.format(cal20051231.getTime()); - assertEquals(valB, calValidator.format(cal20051231, patternB, TestTimeZones.EST), "EST patternB"); + final String valBEst = dfB.format(cal20051231.getTime()); + assertEquals(valBEst, calValidator.format(cal20051231, patternB, TestTimeZones.EST), "EST patternB"); final DateFormat dfGermanEst = new SimpleDateFormat(patternGerman, Locale.GERMAN); dfGermanEst.setTimeZone(TestTimeZones.EST); final String valGermanEst = dfGermanEst.format(cal20051231.getTime()); - assertEquals(valGermanEst, calValidator.format(cal20051231, patternGerman, Locale.GERMAN, TestTimeZones.EST), "EST both"); + assertEquals(valGermanEst, calValidator.format(cal20051231, patternGerman, Locale.GERMAN, TestTimeZones.EST), "EST patternGerman"); } } From 226446c857385c9897035be61f2c2e57221edf25 Mon Sep 17 00:00:00 2001 From: sigee Date: Thu, 26 Dec 2024 20:42:12 +0100 Subject: [PATCH 4/5] Remove unneeded DateFormat instances --- .../validator/routines/CalendarValidatorTest.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java index e035a0114..0cd3d6bea 100644 --- a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java +++ b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java @@ -297,14 +297,12 @@ public void testFormat() { assertEquals(valGerman, calValidator.format(cal20051231, patternGerman, Locale.GERMAN), "patternGerman"); // EST Time Zone - final DateFormat dfEst = DateFormat.getDateInstance(DateFormat.SHORT); - dfEst.setTimeZone(TestTimeZones.EST); - final String valEst = dfEst.format(cal20051231.getTime()); + df.setTimeZone(TestTimeZones.EST); + final String valEst = df.format(cal20051231.getTime()); assertEquals(valEst, calValidator.format(cal20051231, TestTimeZones.EST), "EST default"); - final DateFormat dfUsEst = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US); - dfUsEst.setTimeZone(TestTimeZones.EST); - final String valUsEst = dfUsEst.format(cal20051231.getTime()); + dfUs.setTimeZone(TestTimeZones.EST); + final String valUsEst = dfUs.format(cal20051231.getTime()); assertEquals(valUsEst, calValidator.format(cal20051231, Locale.US, TestTimeZones.EST), "EST locale"); dfA.setTimeZone(TestTimeZones.EST); @@ -315,9 +313,8 @@ public void testFormat() { final String valBEst = dfB.format(cal20051231.getTime()); assertEquals(valBEst, calValidator.format(cal20051231, patternB, TestTimeZones.EST), "EST patternB"); - final DateFormat dfGermanEst = new SimpleDateFormat(patternGerman, Locale.GERMAN); - dfGermanEst.setTimeZone(TestTimeZones.EST); - final String valGermanEst = dfGermanEst.format(cal20051231.getTime()); + dfGerman.setTimeZone(TestTimeZones.EST); + final String valGermanEst = dfGerman.format(cal20051231.getTime()); assertEquals(valGermanEst, calValidator.format(cal20051231, patternGerman, Locale.GERMAN, TestTimeZones.EST), "EST patternGerman"); } From 760613f2db01c9c5040a573d53161744d6f92807 Mon Sep 17 00:00:00 2001 From: sigee Date: Thu, 26 Dec 2024 20:58:12 +0100 Subject: [PATCH 5/5] Make the code understandable without comment --- .../commons/validator/routines/CalendarValidatorTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java index 0cd3d6bea..3390da7c8 100644 --- a/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java +++ b/src/test/java/org/apache/commons/validator/routines/CalendarValidatorTest.java @@ -116,7 +116,7 @@ public void testCalendarValidatorMethods() { // Don't rely on specific German format - it varies between JVMs final DateFormat df = new SimpleDateFormat(germanPattern, locale); final Calendar cal = Calendar.getInstance(Locale.US); - cal.set(2005, 11, 31); // month is 0-based + cal.set(2005, Calendar.DECEMBER, 31); final String germanVal = df.format(cal.getTime()); final String localeVal = "31.12.2005"; final String defaultVal = "12/31/05"; @@ -241,12 +241,12 @@ public void testDateTimeStyle() { // Formats vary between JVMs, so create the test strings using the current JVM final DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); final Calendar cal = Calendar.getInstance(); - cal.set(2005, 11, 31, 14, 23); // month is 0-based + cal.set(2005, Calendar.DECEMBER, 31, 14, 23); final String val = df.format(cal.getTime()); final DateFormat usdf = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.US); final Calendar uscal = Calendar.getInstance(Locale.US); - uscal.set(2005, 11, 31, 14, 23); // month is 0-based + uscal.set(2005, Calendar.DECEMBER, 31, 14, 23); final String usval = usdf.format(uscal.getTime()); final AbstractCalendarValidator dateTimeValidator = new AbstractCalendarValidator(true, DateFormat.SHORT, DateFormat.SHORT) {