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

asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git

commit 2c967a1abb14d7b87fce40e8f5f80f125b87d591
Author: Andrus Adamchik <[email protected]>
AuthorDate: Fri May 15 18:35:36 2026 -0400

    tests cleanup: passing extra modules as lambdas
---
 .../org/apache/cayenne/dbsync/merge/MergeCase.java |  2 +-
 .../cayenne/jcache/CayenneJCacheModuleIT.java      |  2 +-
 .../cayenne/CDOReflexiveRelICustomSorterIT.java    | 10 +------
 .../access/DataContextDataChannelEventsIT.java     |  4 +--
 .../access/DataContextDelegateSharedCacheIT.java   |  4 +--
 ...tyWithMeaningfulPKAndCustomDbRowOpSorterIT.java |  4 ++-
 .../access/DataContextSharedCacheEmpiricIT.java    | 10 +------
 .../cayenne/access/DataContextSharedCacheIT.java   |  4 +--
 .../apache/cayenne/access/GraphSorterModule.java   | 35 ----------------------
 .../access/NestedDataContextParentEventsIT.java    |  4 +--
 .../NestedDataContextParentPeerEventsIT.java       |  4 +--
 .../access/NestedDataContextPeerEventsIT.java      |  4 +--
 .../cayenne/access/VerticalInheritanceIT.java      |  4 ++-
 .../cayenne/access/util/RuntimeCaseSyncModule.java | 30 -------------------
 .../org/apache/cayenne/unit/CayenneTestsEnv.java   | 21 ++++---------
 15 files changed, 28 insertions(+), 114 deletions(-)

diff --git 
a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java 
b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
index e35e198b2..1ce7ea345 100644
--- 
a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
+++ 
b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
@@ -67,7 +67,7 @@ public abstract class MergeCase {
     @RegisterExtension
     protected static final CayenneTestsEnv env = CayenneTestsEnv
             .forProject(CayenneProjects.TESTMAP_PROJECT)
-            .withExtraModules(DbSyncModule.class)
+            .withExtraModules(new DbSyncModule())
             .withoutAutoClean();
 
     protected EntityResolver resolver;
diff --git 
a/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
 
b/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
index 0c9eca0ae..e06e00960 100644
--- 
a/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
+++ 
b/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
@@ -47,7 +47,7 @@ public class CayenneJCacheModuleIT {
     @RegisterExtension
     static final CayenneTestsEnv env = CayenneTestsEnv
             .forProject(CayenneProjects.TESTMAP_PROJECT)
-            .withExtraModules(EhCacheModule.class);
+            .withExtraModules(new EhCacheModule());
 
     ObjectContext context;
     CayenneRuntime runtime;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java 
b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
index 421981b93..1607e67e3 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
@@ -21,8 +21,6 @@ package org.apache.cayenne;
 
 import org.apache.cayenne.access.flush.operation.DbRowOpSorter;
 import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter;
-import org.apache.cayenne.di.Binder;
-import org.apache.cayenne.di.Module;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.testdo.testmap.ArtGroup;
 import org.apache.cayenne.testdo.testmap.Artist;
@@ -40,7 +38,7 @@ public class CDOReflexiveRelICustomSorterIT {
     @RegisterExtension
     static final CayenneTestsEnv env = CayenneTestsEnv
             .forProject(CayenneProjects.TESTMAP_PROJECT)
-            .withExtraModules(GraphSorterModule.class);
+            .withExtraModules(binder -> 
binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class));
 
     @Test
     public void addDeleteNoCommit() {
@@ -201,10 +199,4 @@ public class CDOReflexiveRelICustomSorterIT {
         context.commitChanges();
     }
 
-    public static class GraphSorterModule implements Module {
-        @Override
-        public void configure(Binder binder) {
-            binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class);
-        }
-    }
 }
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
index 9581c94fb..b811560ec 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
@@ -22,7 +22,7 @@ package org.apache.cayenne.access;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.DataChannelListener;
 import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
+import org.apache.cayenne.configuration.runtime.CoreModule;
 import org.apache.cayenne.graph.GraphEvent;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
@@ -43,7 +43,7 @@ public class DataContextDataChannelEventsIT {
 
     @RegisterExtension
     static final CayenneTestsEnv env = 
CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT)
-            .withExtraModules(RuntimeCaseSyncModule.class);
+            .withExtraModules(binder -> 
CoreModule.extend(binder).syncContexts());
 
     private DataContext context;
     private DataContext peer;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
index be88a77f3..73dfe1f06 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
@@ -24,7 +24,7 @@ import java.util.Date;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.Persistent;
-import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
+import org.apache.cayenne.configuration.runtime.CoreModule;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.runtime.CayenneProjects;
@@ -43,7 +43,7 @@ public class DataContextDelegateSharedCacheIT {
 
     @RegisterExtension
     static final CayenneTestsEnv env = 
CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT)
-            .withExtraModules(RuntimeCaseSyncModule.class);
+            .withExtraModules(binder -> 
CoreModule.extend(binder).syncContexts());
 
     private DataContext context;
     private DataContext context1;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
index ec10f6eb7..3a640db38 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
@@ -19,6 +19,8 @@
 
 package org.apache.cayenne.access;
 
+import org.apache.cayenne.access.flush.operation.DbRowOpSorter;
+import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
 import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPk;
@@ -32,7 +34,7 @@ public class 
DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT {
     @RegisterExtension
     static final CayenneTestsEnv env = CayenneTestsEnv
             .forProject(CayenneProjects.MEANINGFUL_PK_PROJECT)
-            .withExtraModules(GraphSorterModule.class);
+            .withExtraModules(binder -> 
binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class));
 
     @Test
     public void insertDelete() {
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
index dc6547389..715a621e8 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
@@ -26,8 +26,6 @@ import java.util.List;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.configuration.DefaultRuntimeProperties;
 import org.apache.cayenne.configuration.runtime.CoreModule;
-import org.apache.cayenne.di.Binder;
-import org.apache.cayenne.di.Module;
 import org.apache.cayenne.event.DefaultEventManager;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.runtime.CayenneRuntime;
@@ -49,7 +47,7 @@ public class DataContextSharedCacheEmpiricIT {
 
     @RegisterExtension
     static final CayenneTestsEnv env = 
CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT)
-            
.withExtraModules(DataContextSharedCacheEmpiricIT.SyncContextsModule.class);
+            .withExtraModules(binder -> 
CoreModule.extend(binder).syncContexts());
 
 
     private static final String NEW_NAME = "versionX";
@@ -173,10 +171,4 @@ public class DataContextSharedCacheEmpiricIT {
         helper.runTest(3000);
     }
 
-    public static class SyncContextsModule implements Module {
-        @Override
-        public void configure(Binder binder) {
-            CoreModule.extend(binder).syncContexts();
-        }
-    }
 }
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
index b3ecb2eb3..183c3ce76 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
@@ -28,7 +28,7 @@ import java.util.Map;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.PersistenceState;
-import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
+import org.apache.cayenne.configuration.runtime.CoreModule;
 import org.apache.cayenne.query.ObjectSelect;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
@@ -51,7 +51,7 @@ public class DataContextSharedCacheIT {
 
     @RegisterExtension
     static final CayenneTestsEnv env = 
CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT)
-            .withExtraModules(RuntimeCaseSyncModule.class);
+            .withExtraModules(binder -> 
CoreModule.extend(binder).syncContexts());
 
     private DataContext context;
     private DataContext context1;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/GraphSorterModule.java 
b/cayenne/src/test/java/org/apache/cayenne/access/GraphSorterModule.java
deleted file mode 100644
index d833d590b..000000000
--- a/cayenne/src/test/java/org/apache/cayenne/access/GraphSorterModule.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne.access;
-
-import org.apache.cayenne.access.flush.operation.DbRowOpSorter;
-import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter;
-import org.apache.cayenne.di.Binder;
-import org.apache.cayenne.di.Module;
-
-/**
- * Test module that sets up {@link GraphBasedDbRowOpSorter} instead of default 
one
- */
-public class GraphSorterModule implements Module {
-    @Override
-    public void configure(Binder binder) {
-        binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class);
-    }
-}
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
index 4f577e11e..8a000d9b7 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
@@ -20,7 +20,7 @@
 package org.apache.cayenne.access;
 
 import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
+import org.apache.cayenne.configuration.runtime.CoreModule;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.runtime.CayenneProjects;
@@ -36,7 +36,7 @@ public class NestedDataContextParentEventsIT {
 
     @RegisterExtension
     static final CayenneTestsEnv env = 
CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT)
-            .withExtraModules(RuntimeCaseSyncModule.class);
+            .withExtraModules(binder -> 
CoreModule.extend(binder).syncContexts());
 
     @Test
     public void parentUpdatedId() throws Exception {
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
index be0c66163..bb4d831a4 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
@@ -20,7 +20,7 @@
 package org.apache.cayenne.access;
 
 import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
+import org.apache.cayenne.configuration.runtime.CoreModule;
 import org.apache.cayenne.runtime.CayenneRuntime;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.relationships_child_master.Child;
@@ -41,7 +41,7 @@ public class NestedDataContextParentPeerEventsIT {
 
     @RegisterExtension
     static final CayenneTestsEnv env = 
CayenneTestsEnv.forProject(CayenneProjects.RELATIONSHIPS_CHILD_MASTER_PROJECT)
-            .withExtraModules(RuntimeCaseSyncModule.class);
+            .withExtraModules(binder -> 
CoreModule.extend(binder).syncContexts());
 
     private CayenneRuntime runtime;
     private DataContext parentContext1;
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
index b0af29447..8bf693a80 100644
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
@@ -21,7 +21,7 @@ package org.apache.cayenne.access;
 
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.ObjectId;
-import org.apache.cayenne.access.util.RuntimeCaseSyncModule;
+import org.apache.cayenne.configuration.runtime.CoreModule;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
@@ -38,7 +38,7 @@ public class NestedDataContextPeerEventsIT {
 
        @RegisterExtension
        static final CayenneTestsEnv env = 
CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT)
-               .withExtraModules(RuntimeCaseSyncModule.class);
+               .withExtraModules(binder -> 
CoreModule.extend(binder).syncContexts());
 
     @Test
        public void peerObjectUpdatedTempOID() throws Exception {
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java 
b/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
index a9d86675e..94e628c07 100644
--- a/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
+++ b/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
@@ -21,6 +21,8 @@ package org.apache.cayenne.access;
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.Persistent;
+import org.apache.cayenne.access.flush.operation.DbRowOpSorter;
+import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter;
 import org.apache.cayenne.query.ColumnSelect;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.query.ObjectSelect;
@@ -51,7 +53,7 @@ public class VerticalInheritanceIT {
 
        @RegisterExtension
        static final CayenneTestsEnv env = 
CayenneTestsEnv.forProject(CayenneProjects.INHERITANCE_VERTICAL_PROJECT)
-               .withExtraModules(GraphSorterModule.class);
+               .withExtraModules(binder -> 
binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class));
 
        protected CayenneRuntime runtime;
 
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/access/util/RuntimeCaseSyncModule.java
 
b/cayenne/src/test/java/org/apache/cayenne/access/util/RuntimeCaseSyncModule.java
deleted file mode 100644
index a2871bf72..000000000
--- 
a/cayenne/src/test/java/org/apache/cayenne/access/util/RuntimeCaseSyncModule.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.access.util;
-
-import org.apache.cayenne.configuration.runtime.CoreModule;
-import org.apache.cayenne.di.Binder;
-import org.apache.cayenne.di.Module;
-
-public class RuntimeCaseSyncModule implements Module {
-    @Override
-    public void configure(Binder binder) {
-        CoreModule.extend(binder).syncContexts();
-    }
-}
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java 
b/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
index b6767bd84..074793fa0 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
@@ -54,6 +54,7 @@ import org.junit.jupiter.api.extension.BeforeEachCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -81,7 +82,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, 
AfterEachCallback {
     }
 
     private final String project;
-    private final Class<?>[] extraModules;
+    private final Module[] extraModules;
     private final boolean autoClean;
     private final boolean weakReferences;
 
@@ -91,7 +92,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, 
AfterEachCallback {
     private DbCleaner dbCleaner;
     private CayenneRuntime runtime;
 
-    private CayenneTestsEnv(String project, Class<?>[] extraModules, boolean 
autoClean, boolean weakReferences) {
+    private CayenneTestsEnv(String project, Module[] extraModules, boolean 
autoClean, boolean weakReferences) {
         this.project = project;
         this.extraModules = extraModules;
         this.autoClean = autoClean;
@@ -99,10 +100,10 @@ public class CayenneTestsEnv implements 
BeforeEachCallback, AfterEachCallback {
     }
 
     public static CayenneTestsEnv forProject(String project) {
-        return new CayenneTestsEnv(project, new Class<?>[0], true, false);
+        return new CayenneTestsEnv(project, new Module[0], true, false);
     }
 
-    public CayenneTestsEnv withExtraModules(Class<?>... modules) {
+    public CayenneTestsEnv withExtraModules(Module... modules) {
         return new CayenneTestsEnv(project, modules, autoClean, 
weakReferences);
     }
 
@@ -155,9 +156,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, 
AfterEachCallback {
         List<Module> modules = new ArrayList<>();
         modules.add(new TestRuntimeOverridesModule());
 
-        for (Class<?> moduleType : extraModules) {
-            modules.add(instantiateModule(moduleType));
-        }
+        Collections.addAll(modules, extraModules);
 
         if (weakReferences) {
             modules.add(new WeakReferenceStrategyModule());
@@ -214,14 +213,6 @@ public class CayenneTestsEnv implements 
BeforeEachCallback, AfterEachCallback {
         }
     }
 
-    private static Module instantiateModule(Class<?> moduleType) {
-        try {
-            return (Module) moduleType.getConstructor().newInstance();
-        } catch (ReflectiveOperationException e) {
-            throw new RuntimeException("Failed to instantiate extra module: " 
+ moduleType.getName(), e);
-        }
-    }
-
     public DataContext context() {
         return context;
     }

Reply via email to