This is an automated email from the ASF dual-hosted git repository.

garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git


The following commit(s) were added to refs/heads/master by this push:
     new 983e46d9e [LANG-1829] Add unit tests for DateUtils.truncatedCompareTo 
and truncatedEquals (#1753)
983e46d9e is described below

commit 983e46d9e955bab42b6f86f6c449667b00a47d11
Author: Maksym Korshun <[email protected]>
AuthorDate: Sun Jul 26 22:55:02 2026 +0200

    [LANG-1829] Add unit tests for DateUtils.truncatedCompareTo and 
truncatedEquals (#1753)
---
 .../apache/commons/lang3/time/DateUtilsTest.java   | 65 ++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java 
b/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java
index 00f6bb1f2..45fe80908 100644
--- a/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/time/DateUtilsTest.java
@@ -1692,6 +1692,71 @@ void testTruncateLang59() {
         assertEquals(oct31MDT, DateUtils.round(oct31_01_02_03_04MDT, 
Calendar.DATE), "Round Calendar.DATE");
     }
 
+    @Test
+    public void testTruncatedCompareToCalendar() {
+        final Calendar cal1 = Calendar.getInstance();
+        cal1.set(2026, Calendar.JULY, 26, 10, 0, 0);
+        final Calendar cal2 = Calendar.getInstance();
+        cal2.set(2026, Calendar.JULY, 26, 14, 0, 0);
+
+        assertEquals(0, DateUtils.truncatedCompareTo(cal1, cal2, 
Calendar.DAY_OF_MONTH));
+        assertTrue(DateUtils.truncatedCompareTo(cal1, cal2, 
Calendar.HOUR_OF_DAY) < 0);
+        assertTrue(DateUtils.truncatedCompareTo(cal2, cal1, 
Calendar.HOUR_OF_DAY) > 0);
+
+        assertThrows(NullPointerException.class, () -> 
DateUtils.truncatedCompareTo(null, cal2, Calendar.DAY_OF_MONTH));
+        assertThrows(NullPointerException.class, () -> 
DateUtils.truncatedCompareTo(cal1, null, Calendar.DAY_OF_MONTH));
+    }
+
+    @Test
+    public void testTruncatedCompareToDate() {
+        final Calendar cal1 = Calendar.getInstance();
+        cal1.set(2026, Calendar.JULY, 26, 10, 0, 0);
+        final Calendar cal2 = Calendar.getInstance();
+        cal2.set(2026, Calendar.JULY, 26, 14, 0, 0);
+
+        final Date date1 = cal1.getTime();
+        final Date date2 = cal2.getTime();
+
+        assertEquals(0, DateUtils.truncatedCompareTo(date1, date2, 
Calendar.DAY_OF_MONTH));
+
+        assertTrue(DateUtils.truncatedCompareTo(date1, date2, 
Calendar.HOUR_OF_DAY) < 0);
+        assertTrue(DateUtils.truncatedCompareTo(date2, date1, 
Calendar.HOUR_OF_DAY) > 0);
+
+        assertThrows(NullPointerException.class, () -> 
DateUtils.truncatedCompareTo(null, date2, Calendar.DAY_OF_MONTH));
+        assertThrows(NullPointerException.class, () -> 
DateUtils.truncatedCompareTo(date1, null, Calendar.DAY_OF_MONTH));
+    }
+
+    @Test
+    public void testTruncatedEqualCalendar() {
+        final Calendar cal1 = Calendar.getInstance();
+        cal1.set(2026, Calendar.JULY, 26, 10, 0, 0);
+        final Calendar cal2 = Calendar.getInstance();
+        cal2.set(2026, Calendar.JULY, 26, 14, 0, 0);
+
+        assertTrue(DateUtils.truncatedEquals(cal1, cal2, 
Calendar.DAY_OF_MONTH));
+        assertFalse(DateUtils.truncatedEquals(cal1, cal2, 
Calendar.HOUR_OF_DAY));
+
+        assertThrows(NullPointerException.class, () -> 
DateUtils.truncatedEquals(null, cal2, Calendar.DAY_OF_MONTH));
+        assertThrows(NullPointerException.class, () -> 
DateUtils.truncatedEquals(cal1, null, Calendar.DAY_OF_MONTH));
+    }
+
+    @Test
+    public void testTruncatedEqualDate() {
+        final Calendar cal1 = Calendar.getInstance();
+        cal1.set(2026, Calendar.JULY, 26, 10, 0, 0);
+        final Calendar cal2 = Calendar.getInstance();
+        cal2.set(2026, Calendar.JULY, 26, 14, 0, 0);
+
+        final Date date1 = cal1.getTime();
+        final Date date2 = cal2.getTime();
+
+        assertTrue(DateUtils.truncatedEquals(date1, date2, 
Calendar.DAY_OF_MONTH));
+        assertFalse(DateUtils.truncatedEquals(date1, date2, 
Calendar.HOUR_OF_DAY));
+
+        assertThrows(NullPointerException.class, () -> 
DateUtils.truncatedEquals(null, date2, Calendar.DAY_OF_MONTH));
+        assertThrows(NullPointerException.class, () -> 
DateUtils.truncatedEquals(date1, null, Calendar.DAY_OF_MONTH));
+    }
+
     /**
      * Tests the calendar iterator for week ranges
      */

Reply via email to