From f3974d700b6638c6617ba09aeed581e33acbb2f6 Mon Sep 17 00:00:00 2001 From: David Gilbert Date: Mon, 10 Oct 2022 20:43:14 +0200 Subject: [PATCH] fix: Minute.equals() not correctly taking the day into account #318 --- src/main/java/org/jfree/data/time/Minute.java | 8 ++++---- src/test/java/org/jfree/data/time/MinuteTest.java | 14 +++++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/jfree/data/time/Minute.java b/src/main/java/org/jfree/data/time/Minute.java index 89450d1e27..24ba4ecdfc 100644 --- a/src/main/java/org/jfree/data/time/Minute.java +++ b/src/main/java/org/jfree/data/time/Minute.java @@ -59,13 +59,13 @@ public class Minute extends RegularTimePeriod implements Serializable { public static final int LAST_MINUTE_IN_HOUR = 59; /** The day. */ - private Day day; + private final Day day; /** The hour in which the minute falls. */ - private byte hour; + private final byte hour; /** The minute. */ - private byte minute; + private final byte minute; /** The first millisecond. */ private long firstMillisecond; @@ -381,7 +381,7 @@ public boolean equals(Object obj) { if (this.hour != that.hour) { return false; } - return true; + return this.day.equals(that.day); } /** diff --git a/src/test/java/org/jfree/data/time/MinuteTest.java b/src/test/java/org/jfree/data/time/MinuteTest.java index 21222fcb34..6747dcb4ba 100644 --- a/src/test/java/org/jfree/data/time/MinuteTest.java +++ b/src/test/java/org/jfree/data/time/MinuteTest.java @@ -36,11 +36,6 @@ package org.jfree.data.time; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; - import java.time.ZoneOffset; import java.util.Calendar; import java.util.Date; @@ -54,6 +49,8 @@ import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + /** * Tests for the {@link Minute} class. */ @@ -84,6 +81,13 @@ public void testEquals() { assertEquals(minute1, minute2); } + @Test + public void comparison() { + Minute m1 = new Minute(30, 6, 10, 8, 2021); + Minute m2 = new Minute(30, 6, 11, 8, 2021); + assertNotEquals(m1, m2); + } + /** * In GMT, the 4.55pm on 21 Mar 2002 is java.util.Date(1016729700000L). * Use this to check the Minute constructor.