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

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

commit 55608cb2c221c67a3cad67e42df05571a02227cf
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu Dec 5 17:43:19 2024 -0500

    Update EqualsBuilderReflectJreImplementationTest for Temporal
---
 .../EqualsBuilderReflectJreImplementationTest.java | 75 +++++++++++++++++++---
 1 file changed, 66 insertions(+), 9 deletions(-)

diff --git 
a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderReflectJreImplementationTest.java
 
b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderReflectJreImplementationTest.java
index c6b99fc0e..15c6561ca 100644
--- 
a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderReflectJreImplementationTest.java
+++ 
b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderReflectJreImplementationTest.java
@@ -22,8 +22,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.time.Duration;
 import java.time.Instant;
+import java.time.temporal.Temporal;
 import java.time.temporal.TemporalAccessor;
 import java.time.temporal.TemporalField;
+import java.time.temporal.TemporalUnit;
 import java.util.Arrays;
 
 import org.apache.commons.lang3.AbstractLangTest;
@@ -73,18 +75,71 @@ public class EqualsBuilderReflectJreImplementationTest 
extends AbstractLangTest
 
     static class MyClass {
 
-        private final MyTemporalAccessor time;
-        private final MyCharSequence string;
+        private final MyCharSequence charSequence;
+        private final MyTemporal temporal;
+        private final MyTemporalAccessor temporalAccessor;
 
-        MyClass(final MyTemporalAccessor time, final MyCharSequence string) {
-            this.time = time;
+        MyClass(final MyTemporal temporal, final MyTemporalAccessor 
temporalAccessor, final MyCharSequence charSequence) {
+            this.charSequence = charSequence;
+            this.temporal = temporal;
+            this.temporalAccessor = temporalAccessor;
+        }
+
+        @Override
+        public String toString() {
+            return String.format("%s[%s - %s - %s]", 
getClass().getSimpleName(), charSequence, temporal, temporalAccessor);
+        }
+    }
+
+    static class MyTemporal implements Temporal {
+
+        private final String string;
+        private final long value;
+        private final Instant instant;
+        private final Duration duration;
+
+        MyTemporal(final String string) {
             this.string = string;
+            this.value = Long.parseLong(string);
+            this.instant = Instant.ofEpochMilli(value);
+            this.duration = Duration.between(instant, 
instant.plusMillis(value));
+        }
+
+        @Override
+        public long getLong(final TemporalField field) {
+            return 0;
+        }
+
+        @Override
+        public boolean isSupported(final TemporalField field) {
+            return false;
+        }
+
+        @Override
+        public boolean isSupported(final TemporalUnit unit) {
+            return false;
+        }
+
+        @Override
+        public Temporal plus(final long amountToAdd, final TemporalUnit unit) {
+            return null;
         }
 
         @Override
         public String toString() {
-            return String.format("%s[%s - %s]", getClass().getSimpleName(), 
string, time);
+            return String.format("%s[%s - %s - %s]", 
getClass().getSimpleName(), string, instant, duration);
+        }
+
+        @Override
+        public long until(final Temporal endExclusive, final TemporalUnit 
unit) {
+            return 0;
         }
+
+        @Override
+        public Temporal with(final TemporalField field, final long newValue) {
+            return null;
+        }
+
     }
 
     static class MyTemporalAccessor implements TemporalAccessor {
@@ -120,11 +175,13 @@ public class EqualsBuilderReflectJreImplementationTest 
extends AbstractLangTest
 
     @Test
     public void testRecursive() {
-        final MyClass o1 = new MyClass(new MyTemporalAccessor("1"), new 
MyCharSequence("2"));
+        final MyClass o1 = new MyClass(new MyTemporal("1"), new 
MyTemporalAccessor("2"), new MyCharSequence("3"));
         // This gives you different instances of MyTemporalAccessor for 1 (and 
2) that should be equals by reflection.
-        final MyClass o1Bis = new MyClass(new MyTemporalAccessor("1"), new 
MyCharSequence("2"));
-        final MyClass o2 = new MyClass(new MyTemporalAccessor("3"), new 
MyCharSequence("4"));
-        final MyClass o2Bis = new MyClass(new MyTemporalAccessor("3"), new 
MyCharSequence("4"));
+        final MyClass o1Bis = new MyClass(new MyTemporal("1"), new 
MyTemporalAccessor("2"), new MyCharSequence("3"));
+        final MyClass o2 = new MyClass(new MyTemporal("4"), new 
MyTemporalAccessor("5"), new MyCharSequence("6"));
+        final MyClass o2Bis = new MyClass(new MyTemporal("4"), new 
MyTemporalAccessor("5"), new MyCharSequence("6"));
+        // MyTemporal
+        assertTrue(new EqualsBuilder().setTestRecursive(true).append(new 
MyTemporal("1"), new MyTemporal("1")).isEquals());
         // MyTemporalAccessor
         assertTrue(new EqualsBuilder().setTestRecursive(true).append(new 
MyTemporalAccessor("1"), new MyTemporalAccessor("1")).isEquals());
         // MyCharSequence

Reply via email to