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

danhaywood pushed a commit to branch CAUSEWAY-3803
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 4069eab2b22f2703aef0de57570e53454c49582c
Author: Dan Haywood <[email protected]>
AuthorDate: Wed Jul 10 13:24:31 2024 +0100

    CAUSEWAY-3803: fixes unit tests
---
 .../valuesemantics/temporal/LocalDateTimeValueSemantics.java  |  8 +++++++-
 .../valuesemantics/temporal/LocalDateValueSemantics.java      |  9 ++++++++-
 .../temporal/TemporalValueSemanticsProvider.java              | 11 +++++++++++
 .../facets/value/BigDecimalValueSemanticsProviderTest.java    |  1 -
 .../facets/value/JavaSqlDateValueSemanticsProviderTest.java   |  2 +-
 .../facets/value/JavaTimeValueSemanticsProviderTest.java      |  2 +-
 .../facets/value/ValueSemanticsProviderAbstractTestCase.java  |  8 ++++++++
 7 files changed, 36 insertions(+), 5 deletions(-)

diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java
index 995f146977..30ba34155e 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateTimeValueSemantics.java
@@ -24,6 +24,8 @@ import java.util.Optional;
 
 import javax.inject.Named;
 
+import org.apache.causeway.core.metamodel.context.MetaModelContext;
+
 import org.springframework.lang.Nullable;
 import org.springframework.stereotype.Component;
 
@@ -53,10 +55,14 @@ implements OrderRelation<LocalDateTime, Duration> {
     }
 
     public LocalDateTimeValueSemantics() {
+        this(null);
+    }
+
+    public LocalDateTimeValueSemantics(MetaModelContext metaModelContext) {
         super(TemporalCharacteristic.DATE_TIME, OffsetCharacteristic.LOCAL,
                 TYPICAL_LENGTH, MAX_LENGTH,
                 LocalDateTime::from,
-                TemporalAdjust::adjustLocalDateTime);
+                TemporalAdjust::adjustLocalDateTime, metaModelContext);
     }
 
     // -- TEMPORAL DECOMPOSITION
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java
index f2d8051159..114a96138d 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/LocalDateValueSemantics.java
@@ -24,6 +24,8 @@ import java.util.Optional;
 
 import javax.inject.Named;
 
+import org.apache.causeway.core.metamodel.context.MetaModelContext;
+
 import org.springframework.lang.Nullable;
 import org.springframework.stereotype.Component;
 
@@ -53,10 +55,15 @@ implements OrderRelation<LocalDate, Duration> {
     }
 
     public LocalDateValueSemantics() {
+        this(null);
+    }
+
+    public LocalDateValueSemantics(MetaModelContext metaModelContext) {
         super(TemporalCharacteristic.DATE_ONLY, OffsetCharacteristic.LOCAL,
                 TYPICAL_LENGTH, MAX_LENGTH,
                 LocalDate::from,
-                TemporalAdjust::adjustLocalDate);
+                TemporalAdjust::adjustLocalDate,
+                metaModelContext);
     }
 
     // -- TEMPORAL DECOMPOSITION
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java
index 90d54d2920..4faf16281d 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java
@@ -86,6 +86,17 @@ implements TemporalValueSemantics<T> {
     protected final TemporalQuery<T> query;
     protected final BiFunction<TemporalAdjust, T, T> adjuster;
 
+    protected TemporalValueSemanticsProvider(
+            final TemporalCharacteristic temporalCharacteristic,
+            final OffsetCharacteristic offsetCharacteristic,
+            final int typicalLength,
+            final int maxLength,
+            final TemporalQuery<T> query,
+            final BiFunction<TemporalAdjust, T, T> adjuster,
+            final MetaModelContext mmc) {
+        this(temporalCharacteristic, offsetCharacteristic, typicalLength, 
maxLength, query, adjuster);
+        this.mmc = mmc;
+    }
     protected TemporalValueSemanticsProvider(
             final TemporalCharacteristic temporalCharacteristic,
             final OffsetCharacteristic offsetCharacteristic,
diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
index 1c7481ce6a..65ce3f3041 100644
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
@@ -34,7 +34,6 @@ import 
org.apache.causeway.core.metamodel.valuesemantics.BigDecimalValueSemantic
 class BigDecimalValueSemanticsProviderTest
 extends ValueSemanticsProviderAbstractTestCase<BigDecimal> {
 
-    private final CausewayConfiguration causewayConfiguration = new 
CausewayConfiguration(null, null);
     private BigDecimalValueSemantics value;
     private BigDecimal bigDecimal;
 
diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
index 44f465a4c9..1339d2ce8b 100644
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
@@ -48,7 +48,7 @@ extends ValueSemanticsProviderAbstractTestCase<Date> {
         date = new Date(0);
 
         ValueSemanticsAbstract<LocalDate> delegate =
-                new LocalDateValueSemantics();
+                new LocalDateValueSemantics(metaModelContext);
 
         setSemantics(value = new JavaSqlDateValueSemantics() {
 
diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
index 3daefe383d..015e02d41c 100644
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
@@ -124,7 +124,7 @@ extends 
ValueSemanticsProviderAbstractTestCase<java.util.Date> {
     private JavaUtilDateValueSemantics createValueSemantics(final 
TimePrecision timePrecision) {
 
         final ValueSemanticsAbstract<LocalDateTime> delegate =
-                new LocalDateTimeValueSemantics() {
+                new LocalDateTimeValueSemantics(metaModelContext) {
             @Override protected DateTimeFormatter 
getTemporalEditingFormat(final Context context,
                     @NonNull final 
TemporalValueSemantics.TemporalCharacteristic temporalCharacteristic,
                     @NonNull final TemporalValueSemantics.OffsetCharacteristic 
offsetCharacteristic,
diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
index eb5591dc62..0168f2362e 100644
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
+++ 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
@@ -21,6 +21,8 @@ package org.apache.causeway.core.metamodel.facets.value;
 import java.util.Locale;
 import java.util.Optional;
 
+import org.apache.causeway.core.config.CausewayConfiguration;
+
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -49,12 +51,15 @@ import 
org.apache.causeway.core.metamodel.facets.object.value.ValueSerializerDef
 import org.apache.causeway.core.metamodel.object.ManagedObject;
 import org.apache.causeway.core.metamodel.valuesemantics.StringValueSemantics;
 
+import org.springframework.boot.info.BuildProperties;
+
 import lombok.Getter;
 
 abstract class ValueSemanticsProviderAbstractTestCase<T> {
 
     protected InteractionService mockInteractionService;
     protected ManagedObject mockAdapter;
+    protected CausewayConfiguration causewayConfiguration;
 
     protected MetaModelContext metaModelContext;
 
@@ -68,9 +73,11 @@ abstract class ValueSemanticsProviderAbstractTestCase<T> {
 
         mockInteractionService = Mockito.mock(InteractionService.class);
         mockAdapter = Mockito.mock(ManagedObject.class);
+        causewayConfiguration = new CausewayConfiguration(null, 
Optional.empty());
 
         metaModelContext = MetaModelContext_forTesting.builder()
                 .interactionService(mockInteractionService)
+                .configuration(causewayConfiguration)
                 .build();
     }
 
@@ -80,6 +87,7 @@ abstract class ValueSemanticsProviderAbstractTestCase<T> {
 
     protected void setSemantics(final ValueSemanticsAbstract<T> 
valueSemantics) {
         this.semantics = valueSemantics;
+
         this.valueSerializer = ValueSerializerDefault
                 .forSemantics(valueSemantics);
     }

Reply via email to