diff --git a/src/main/java/org/jfree/data/time/Minute.java b/src/main/java/org/jfree/data/time/Minute.java index 6ad1309b4..1ca4c9f18 100644 --- a/src/main/java/org/jfree/data/time/Minute.java +++ b/src/main/java/org/jfree/data/time/Minute.java @@ -420,9 +420,12 @@ public int compareTo(Object o1) { // ------------------------------------------- if (o1 instanceof Minute) { Minute m = (Minute) o1; - result = getHour().compareTo(m.getHour()); + result = this.day.compareTo(m.day); if (result == 0) { - result = this.minute - m.getMinute(); + result = this.hour - m.hour; + if (result == 0) { + result = this.minute - m.getMinute(); + } } } diff --git a/src/test/java/org/jfree/data/time/MinuteTest.java b/src/test/java/org/jfree/data/time/MinuteTest.java index 83385c230..e845fb207 100644 --- a/src/test/java/org/jfree/data/time/MinuteTest.java +++ b/src/test/java/org/jfree/data/time/MinuteTest.java @@ -86,6 +86,9 @@ public void comparison() { Minute m1 = new Minute(30, 6, 10, 8, 2021); Minute m2 = new Minute(30, 6, 11, 8, 2021); assertNotEquals(m1, m2); + assertEquals(-1, m1.compareTo(m2)); + assertEquals(1, m2.compareTo(m1)); + assertEquals(0, m1.compareTo(m1)); } /**