Skip to content

Commit

Permalink
Update EqualsBuilderReflectJreImplementationTest for built-in dates and
Browse files Browse the repository at this point in the history
times
  • Loading branch information
garydgregory committed Dec 6, 2024
1 parent 8034ce7 commit a87a261
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 18 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,7 @@
<properties>
<!-- LANG-1265: allow tests to access private fields/methods of java.base classes via reflection -->
<!-- LANG-1667: allow tests to access private fields/methods of java.base/java.util such as ArrayList via reflection -->
<argLine>-Xmx512m --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED</argLine>
<argLine>-Xmx512m --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED --add-opens java.base/java.time.chrono=ALL-UNNAMED</argLine>
</properties>
</profile>
<profile>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,21 @@

import java.time.Duration;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.OffsetTime;
import java.time.Period;
import java.time.Year;
import java.time.YearMonth;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.chrono.HijrahDate;
import java.time.chrono.JapaneseDate;
import java.time.chrono.MinguoDate;
import java.time.chrono.ThaiBuddhistDate;
import java.time.temporal.Temporal;
import java.time.temporal.TemporalAccessor;
import java.time.temporal.TemporalAmount;
Expand Down Expand Up @@ -82,17 +96,33 @@ static class MyClass {
private final MyTemporal temporal;
private final MyTemporalAccessor temporalAccessor;
private final MyTemporalAmount temporalAmount;
private final Object[] objects;

MyClass(final MyCharSequence charSequence, final MyTemporal temporal, final MyTemporalAccessor temporalAccessor, final MyTemporalAmount temporalAmount) {
MyClass(final MyCharSequence charSequence, final MyTemporal temporal, final MyTemporalAccessor temporalAccessor,
final MyTemporalAmount temporalAmount) {
this.charSequence = charSequence;
this.temporal = temporal;
this.temporalAccessor = temporalAccessor;
this.temporalAmount = temporalAmount;
final int value = Integer.parseInt(charSequence.toString());
final LocalDate localDate = LocalDate.ofEpochDay(value);
final LocalTime localTime = LocalTime.of(value, value);
final LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
final OffsetDateTime offsetDateTime = OffsetDateTime.of(localDateTime, ZoneOffset.UTC);
final ZoneOffset zoneOffset = ZoneOffset.ofHours(value);
this.objects = new Object[] {
// a Long
value,
// all concrete dates and times
localDate, HijrahDate.from(localDate), JapaneseDate.from(localDate), MinguoDate.from(localDate), ThaiBuddhistDate.from(localDate),
localDate, localTime, localDateTime, offsetDateTime, OffsetTime.of(localTime, zoneOffset), Year.of(value), YearMonth.of(value, value),
ZonedDateTime.of(localDateTime, zoneOffset), zoneOffset, ZoneId.of(zoneOffset.getId()) };
}

@Override
public String toString() {
return String.format("%s[%s - %s - %s - $s]", getClass().getSimpleName(), charSequence, temporal, temporalAccessor, temporalAmount);
return String.format("%s[%s, %s, %s, %s, %s]", getClass().getSimpleName(), charSequence, temporal, temporalAccessor, temporalAmount,
Arrays.toString(objects));
}
}

Expand All @@ -114,37 +144,37 @@ static class MyTemporal implements Temporal {

@Override
public long getLong(final TemporalField field) {
return 0;
return instant.get(field);
}

@Override
public boolean isSupported(final TemporalField field) {
return false;
return instant.isSupported(field);
}

@Override
public boolean isSupported(final TemporalUnit unit) {
return false;
return instant.isSupported(unit);
}

@Override
public Temporal plus(final long amountToAdd, final TemporalUnit unit) {
return null;
return instant.plus(amountToAdd, unit);
}

@Override
public String toString() {
return String.format("%s[%s - %s - %s]", getClass().getSimpleName(), string, instant, duration, period);
return String.format("%s[%s, %s, %s, %s]", getClass().getSimpleName(), string, instant, duration, period);
}

@Override
public long until(final Temporal endExclusive, final TemporalUnit unit) {
return 0;
return instant.until(endExclusive, unit);
}

@Override
public Temporal with(final TemporalField field, final long newValue) {
return null;
return instant.with(field, newValue);
}

}
Expand All @@ -162,22 +192,21 @@ static class MyTemporalAccessor implements TemporalAccessor {
this.instant = Instant.ofEpochMilli(value);
this.duration = Duration.between(instant, instant.plusMillis(value));
this.period = Period.ofDays(value);

}

@Override
public long getLong(final TemporalField field) {
return 0;
return instant.get(field);
}

@Override
public boolean isSupported(final TemporalField field) {
return false;
return instant.isSupported(field);
}

@Override
public String toString() {
return String.format("%s[%s - %s - % - %s]", getClass().getSimpleName(), string, instant, duration, period);
return String.format("%s[%s, %s, %s, %s]", getClass().getSimpleName(), string, instant, duration, period);
}

}
Expand All @@ -200,22 +229,22 @@ static class MyTemporalAmount implements TemporalAmount {

@Override
public Temporal addTo(final Temporal temporal) {
return null;
return duration.addTo(temporal);
}

@Override
public long get(final TemporalUnit unit) {
return 0;
return duration.get(unit);
}

@Override
public List<TemporalUnit> getUnits() {
return null;
return duration.getUnits();
}

@Override
public Temporal subtractFrom(final Temporal temporal) {
return null;
return duration.subtractFrom(temporal);
}

@Override
Expand Down

0 comments on commit a87a261

Please sign in to comment.