From dc9b594dd09129ca06cd14c8c7256f6e08fcabc8 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Mon, 17 Dec 2018 13:45:50 +0100 Subject: [PATCH] DATAJDBC-303 - Made test stable against rounding errors. --- .../query/QueryAnnotationHsqlIntegrationTests.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java index 118b657b..61bd37b0 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/query/QueryAnnotationHsqlIntegrationTests.java @@ -210,9 +210,11 @@ public class QueryAnnotationHsqlIntegrationTests { @Test // DATAJDBC-175 public void executeCustomQueryWithReturnTypeIsLocalDateTimeList() { - LocalDateTime now = LocalDateTime.now(); + LocalDateTime preciseNow = LocalDateTime.now(); + LocalDateTime truncatedNow = truncateSubmillis(preciseNow); + repository.nowWithLocalDateTimeList() // - .forEach(d -> assertThat(d).isAfterOrEqualTo(now)); + .forEach(d -> assertThat(d).isAfterOrEqualTo(truncatedNow)); } @@ -259,6 +261,12 @@ public class QueryAnnotationHsqlIntegrationTests { assertThat(repository.immutableTuple()).isEqualTo(new DummyEntityRepository.ImmutableTuple("one", "two", 3)); } + private static LocalDateTime truncateSubmillis(LocalDateTime now) { + + int NANOS_IN_MILLIS = 1_000_000; + return now.withNano((now.getNano() / NANOS_IN_MILLIS) * 1_000_000); + } + private DummyEntity dummyEntity(String name) { DummyEntity entity = new DummyEntity();