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

ahuber pushed a commit to branch 3409-mixin.eventtypes
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit a49202011a4cb22d0305ce13d5013be141059f1c
Author: Andi Huber <[email protected]>
AuthorDate: Tue Apr 18 17:10:41 2023 +0200

    CAUSEWAY-3409: resurrect CollectionAnnotationFacetFactoryTest_typeOf
---
 .../metamodel/facets/FacetFactoryTestAbstract.java | 13 +++
 ...ollectionAnnotationFacetFactoryTest_typeOf.java | 97 ++++++++++------------
 2 files changed, 57 insertions(+), 53 deletions(-)

diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/FacetFactoryTestAbstract.java
 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/FacetFactoryTestAbstract.java
index 03f04eb434..ea75b3a433 100644
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/FacetFactoryTestAbstract.java
+++ 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/FacetFactoryTestAbstract.java
@@ -201,6 +201,19 @@ implements HasMetaModelContext {
         consumer.accept(processMethodContext, scenario.facetHolder, 
scenario.facetedMethod, scenario.facetedMethodParameter);
     }
 
+    /**
+     * Collection scenario.
+     */
+    protected void collectionScenario(
+            final Class<?> declaringClass, final String propertyName, final 
MemberScenarioConsumer consumer) {
+        val scenario = Scenario.prop(getMetaModelContext(), declaringClass, 
propertyName);
+        val processMethodContext = ProcessMethodContext
+                .forTesting(declaringClass, FeatureType.COLLECTION, 
scenario.annotatedMethod(), methodRemover, scenario.facetedMethod());
+        consumer.accept(processMethodContext, scenario.facetHolder, 
scenario.facetedMethod, scenario.facetedMethodParameter);
+    }
+
+
+
     /**
      * DomainObject scenario.
      */
diff --git 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
index 35e57b7115..71ebd76851 100644
--- 
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
+++ 
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
@@ -18,13 +18,13 @@
  */
 package org.apache.causeway.core.metamodel.facets.collections.collection;
 
-import java.lang.reflect.Method;
 import java.util.Collection;
 import java.util.Optional;
 
 import org.hamcrest.Matchers;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -33,13 +33,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.CollectionSemantics;
 import org.apache.causeway.core.metamodel.facetapi.Facet;
-import 
org.apache.causeway.core.metamodel.facets.FacetFactory.ProcessMethodContext;
-import org.apache.causeway.core.metamodel.facets.FacetFactoryTestAbstract2;
+import org.apache.causeway.core.metamodel.facets.FacetFactoryTestAbstract;
 import org.apache.causeway.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import 
org.apache.causeway.core.metamodel.facets.actcoll.typeof.TypeOfFacetFromFeature;
 
 class CollectionAnnotationFacetFactoryTest_typeOf
-extends FacetFactoryTestAbstract2 {
+extends FacetFactoryTestAbstract {
 
     private CollectionAnnotationFacetFactory facetFactory;
 
@@ -53,71 +52,63 @@ extends FacetFactoryTestAbstract2 {
         facetFactory = null;
     }
 
-    public void 
testTypeOfFacetInferredForActionWithGenericCollectionReturnType() {
+    @Test
+    void typeOfFacetInferredForActionWithGenericCollectionReturnType() {
         class Order {
         }
+        @SuppressWarnings("unused")
         class Customer {
-            @SuppressWarnings("unused")
-            public Collection<Order> someAction() {
-                return null;
-            }
+            public Collection<Order> someAction() { return null;}
         }
-        final Method actionMethod = findMethodExactOrFail(Customer.class, 
"someAction");
-
-        facetFactory.process(ProcessMethodContext
-                .forTesting(Customer.class, null, actionMethod, methodRemover, 
facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetFromFeature);
-        final TypeOfFacetFromFeature typeOfFacetInferredFromGenerics = 
(TypeOfFacetFromFeature) facet;
-        assertEquals(Order.class, 
typeOfFacetInferredFromGenerics.value().getElementType());
-
+        actionScenario(Customer.class, "someAction", (processMethodContext, 
facetHolder, facetedMethod, facetedMethodParameter) -> {
+            //when
+            facetFactory.process(processMethodContext);
+            //then
+            final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
+            assertNotNull(facet);
+            assertTrue(facet instanceof TypeOfFacetFromFeature);
+            final TypeOfFacetFromFeature typeOfFacetInferredFromGenerics = 
(TypeOfFacetFromFeature) facet;
+            assertEquals(Order.class, 
typeOfFacetInferredFromGenerics.value().getElementType());
+        });
     }
 
-    public void 
testTypeOfFacetInferredForCollectionWithGenericCollectionReturnType() {
+    @Test
+    void typeOfFacetInferredForCollectionWithGenericCollectionReturnType() {
         class Order {
         }
+        @SuppressWarnings("unused")
         class Customer {
-            @SuppressWarnings("unused")
-            public Collection<Order> getOrders() {
-                return null;
-            }
+            public Collection<Order> getOrders() { return null; }
         }
-
-        final Method collectionAccessorMethod = 
findMethodExactOrFail(Customer.class, "getOrders");
-
-        facetFactory.process(ProcessMethodContext
-                .forTesting(Customer.class, null, collectionAccessorMethod, 
methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetFromFeature);
-        final TypeOfFacetFromFeature typeOfFacetInferredFromGenerics = 
(TypeOfFacetFromFeature) facet;
-        assertEquals(Order.class, 
typeOfFacetInferredFromGenerics.value().getElementType());
-
+        collectionScenario(Customer.class, "orders", (processMethodContext, 
facetHolder, facetedMethod, facetedMethodParameter)->{
+            // when
+            facetFactory.process(processMethodContext);
+            // then
+            final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
+            assertNotNull(facet);
+            assertTrue(facet instanceof TypeOfFacetFromFeature);
+            final TypeOfFacetFromFeature typeOfFacetInferredFromGenerics = 
(TypeOfFacetFromFeature) facet;
+            assertEquals(Order.class, 
typeOfFacetInferredFromGenerics.value().getElementType());
+        });
     }
 
-    public void testTypeOfFacetIsInferredForCollectionFromOrderArray() {
+    @Test
+    void typeOfFacetIsInferredForCollectionFromOrderArray() {
         class Order {
         }
+        @SuppressWarnings("unused")
         class Customer {
-            @SuppressWarnings("unused")
-            public Order[] getOrders() {
-                return null;
-            }
+            public Order[] getOrders() { return null;}
         }
-        final Method collectionAccessorMethod = 
findMethodExactOrFail(Customer.class, "getOrders");
-
-        facetFactory.process(ProcessMethodContext
-                .forTesting(Customer.class, null, collectionAccessorMethod, 
methodRemover, facetedMethod));
-
-        final TypeOfFacet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertEquals(Order.class, facet.value().getElementType());
-        assertThat(facet.value().getCollectionSemantics(), 
Matchers.is(Optional.of(CollectionSemantics.ARRAY)));
-
+        collectionScenario(Customer.class, "orders", (processMethodContext, 
facetHolder, facetedMethod, facetedMethodParameter)->{
+            // when
+            facetFactory.process(processMethodContext);
+            // then
+            final TypeOfFacet facet = 
facetedMethod.getFacet(TypeOfFacet.class);
+            assertNotNull(facet);
+            assertEquals(Order.class, facet.value().getElementType());
+            assertThat(facet.value().getCollectionSemantics(), 
Matchers.is(Optional.of(CollectionSemantics.ARRAY)));
+        });
     }
 
-
 }

Reply via email to