GH-359 - Add Now.instant().
This commit is contained in:
@@ -129,10 +129,7 @@ public class Moments implements Now {
|
||||
*/
|
||||
@Override
|
||||
public LocalDateTime now() {
|
||||
|
||||
Instant instant = clock.instant().plus(shift);
|
||||
|
||||
return LocalDateTime.ofInstant(instant, properties.getZoneId());
|
||||
return LocalDateTime.ofInstant(instant(), properties.getZoneId());
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -144,6 +141,15 @@ public class Moments implements Now {
|
||||
return now().toLocalDate();
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.springframework.modulith.moments.support.Now#instant()
|
||||
*/
|
||||
@Override
|
||||
public Instant instant() {
|
||||
return clock.instant().plus(shift);
|
||||
}
|
||||
|
||||
private void emitEventsFor(LocalDateTime time) {
|
||||
events.publishEvent(HourHasPassed.of(time.truncatedTo(ChronoUnit.HOURS)));
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package org.springframework.modulith.moments.support;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@@ -41,4 +42,11 @@ public interface Now {
|
||||
* @return will never be {@literal null}.
|
||||
*/
|
||||
LocalDate today();
|
||||
|
||||
/**
|
||||
* Returns the current Instant.
|
||||
*
|
||||
* @return will never be {@literal null}.
|
||||
*/
|
||||
Instant instant();
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.time.Duration;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.Year;
|
||||
import java.time.ZoneOffset;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.time.temporal.WeekFields;
|
||||
import java.util.Locale;
|
||||
@@ -173,6 +174,15 @@ class MomentsUnitTests {
|
||||
assertThat(before.plus(duration)).isCloseTo(after, within(200, ChronoUnit.MILLIS));
|
||||
}
|
||||
|
||||
@Test // GH-359
|
||||
void returnsInstant() {
|
||||
|
||||
var instant = hourly.instant();
|
||||
var now = hourly.now();
|
||||
|
||||
assertThat(LocalDateTime.ofInstant(instant, ZoneOffset.UTC)).isCloseTo(now, within(50, ChronoUnit.MILLIS));
|
||||
}
|
||||
|
||||
private Duration getNumberOfDaysForThreeMonth(LocalDate date) {
|
||||
|
||||
int days = 0;
|
||||
|
||||
Reference in New Issue
Block a user