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 2c088aead006491c854179085758c2eecb086eb1 Author: Andi Huber <[email protected]> AuthorDate: Tue Apr 18 17:27:27 2023 +0200 CAUSEWAY-3409: resurrect ParameterOptionalityOrNullableAnnotationOnParameterFacetFactoryTest --- .../CollectionLayoutAnnotationFactoryTest.java | 59 +++++------ ...lableAnnotationOnParameterFacetFactoryTest.java | 113 ++++++++++----------- 2 files changed, 79 insertions(+), 93 deletions(-) diff --git a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/CollectionLayoutAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/CollectionLayoutAnnotationFactoryTest.java index 3669cb03bb..6373bd9627 100644 --- a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/CollectionLayoutAnnotationFactoryTest.java +++ b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/collections/layout/annotation/CollectionLayoutAnnotationFactoryTest.java @@ -18,7 +18,6 @@ */ package org.apache.causeway.core.metamodel.facets.collections.layout.annotation; -import java.lang.reflect.Method; import java.util.SortedSet; import org.junit.jupiter.api.Test; @@ -36,8 +35,7 @@ import org.apache.causeway.applib.annotation.CollectionLayout; import org.apache.causeway.applib.annotation.Where; import org.apache.causeway.commons.internal.collections._Sets; 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.all.hide.HiddenFacet; import org.apache.causeway.core.metamodel.facets.all.i8n.staatic.HasStaticText; import org.apache.causeway.core.metamodel.facets.all.named.MemberNamedFacet; @@ -48,50 +46,43 @@ import org.apache.causeway.core.metamodel.facets.collections.layout.MemberNamedF import lombok.val; class CollectionLayoutAnnotationFactoryTest -extends FacetFactoryTestAbstract2 { +extends FacetFactoryTestAbstract { @Test - public void testCollectionLayoutAnnotation_named() { + void collectionLayoutAnnotation_named() { val facetFactory = new CollectionLayoutFacetFactory(getMetaModelContext()); - class Customer { @CollectionLayout(named = "1st names") - public SortedSet<String> getFirstNames() { - return _Sets.newTreeSet(); - } + public SortedSet<String> getFirstNames() { return _Sets.newTreeSet(); } } - final Method method = findMethodExactOrFail(Customer.class, "getFirstNames"); - - facetFactory.process(ProcessMethodContext - .forTesting(Customer.class, null, method, methodRemover, facetedMethod)); - - val facet = facetedMethod.getFacet(MemberNamedFacet.class); - assertThat(facet, is(notNullValue())); - assertThat(facet, is(instanceOf(MemberNamedFacetForCollectionLayoutAnnotation.class))); - assertThat(((HasStaticText)facet).text(), is(equalTo("1st names"))); + collectionScenario(Customer.class, "firstNames", (processMethodContext, facetHolder, facetedMethod, facetedMethodParameter)->{ + // when + facetFactory.process(processMethodContext); + // then + val facet = facetedMethod.getFacet(MemberNamedFacet.class); + assertThat(facet, is(notNullValue())); + assertThat(facet, is(instanceOf(MemberNamedFacetForCollectionLayoutAnnotation.class))); + assertThat(((HasStaticText)facet).text(), is(equalTo("1st names"))); + }); } @Test - void testCollectionLayoutAnnotation_hidden() { + void collectionLayoutAnnotation_hidden() { val facetFactory = new CollectionLayoutFacetFactory(getMetaModelContext()); - class Customer { @CollectionLayout(hidden = Where.OBJECT_FORMS) - public SortedSet<String> getFirstNames() { - return _Sets.newTreeSet(); - } + public SortedSet<String> getFirstNames() { return _Sets.newTreeSet(); } } - final Method method = findMethodExactOrFail(Customer.class, "getFirstNames"); - - facetFactory.process(ProcessMethodContext - .forTesting(Customer.class, null, method, methodRemover, facetedMethod)); - - final Facet facet = facetedMethod.getFacet(HiddenFacet.class); - assertNotNull(facet); - assertTrue(facet instanceof HiddenFacetForCollectionLayoutAnnotation); - final HiddenFacetForCollectionLayoutAnnotation collLayoutFacetAnnotation = (HiddenFacetForCollectionLayoutAnnotation) facet; - assertEquals(Where.OBJECT_FORMS, collLayoutFacetAnnotation.where()); - + collectionScenario(Customer.class, "firstNames", (processMethodContext, facetHolder, facetedMethod, facetedMethodParameter)->{ + // when + facetFactory.process(processMethodContext); + // then + final Facet facet = facetedMethod.getFacet(HiddenFacet.class); + assertNotNull(facet); + assertTrue(facet instanceof HiddenFacetForCollectionLayoutAnnotation); + final HiddenFacetForCollectionLayoutAnnotation collLayoutFacetAnnotation = (HiddenFacetForCollectionLayoutAnnotation) facet; + assertEquals(Where.OBJECT_FORMS, collLayoutFacetAnnotation.where()); + }); } } diff --git a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/param/parameter/ParameterOptionalityOrNullableAnnotationOnParameterFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/param/parameter/ParameterOptionalityOrNullableAnnotationOnParameterFacetFactoryTest.java index a558fdc8bb..e885626a1a 100644 --- a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/param/parameter/ParameterOptionalityOrNullableAnnotationOnParameterFacetFactoryTest.java +++ b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/param/parameter/ParameterOptionalityOrNullableAnnotationOnParameterFacetFactoryTest.java @@ -18,27 +18,24 @@ */ package org.apache.causeway.core.metamodel.facets.param.parameter; -import java.lang.reflect.Method; - import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.lang.Nullable; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; -import org.apache.causeway.applib.annotation.Introspection.IntrospectionPolicy; import org.apache.causeway.applib.annotation.Optionality; import org.apache.causeway.applib.annotation.Parameter; import org.apache.causeway.core.metamodel.facetapi.Facet; -import org.apache.causeway.core.metamodel.facets.FacetFactory.ProcessParameterContext; -import org.apache.causeway.core.metamodel.facets.FacetFactoryTestAbstract2; +import org.apache.causeway.core.metamodel.facets.FacetFactoryTestAbstract; import org.apache.causeway.core.metamodel.facets.objectvalue.mandatory.MandatoryFacet; import org.apache.causeway.core.metamodel.facets.param.parameter.mandatory.MandatoryFacetForParameterAnnotation; import org.apache.causeway.core.metamodel.facets.param.parameter.mandatory.MandatoryFacetInvertedByNullableAnnotationOnParameter; class ParameterOptionalityOrNullableAnnotationOnParameterFacetFactoryTest -extends FacetFactoryTestAbstract2 { +extends FacetFactoryTestAbstract { private ParameterAnnotationFacetFactory facetFactory; @@ -47,72 +44,70 @@ extends FacetFactoryTestAbstract2 { facetFactory = new ParameterAnnotationFacetFactory(getMetaModelContext()); } - public void testParameterAnnotationWithOptionalityPickedUpOnActionParameter() { - + @Test + void parameterAnnotationWithOptionalityPickedUpOnActionParameter() { + @SuppressWarnings("unused") class Customer { - @SuppressWarnings("unused") - public void someAction(@Parameter(optionality = Optionality.OPTIONAL) final String foo) { - } + public void someAction( + @Parameter(optionality = Optionality.OPTIONAL) + final String foo) {} } - final Method method = findMethodExactOrFail(Customer.class, "someAction", new Class[] { String.class }); - - facetFactory.processParamsOptional( - ProcessParameterContext.forTesting( - Customer.class, IntrospectionPolicy.ANNOTATION_OPTIONAL, method, null, facetedMethodParameter)); - - final Facet facet = facetedMethodParameter.getFacet(MandatoryFacet.class); - assertNotNull(facet); - assertTrue(facet instanceof MandatoryFacetForParameterAnnotation.Optional); - } - - public void testParameterAnnotationWithOptionalityIgnoredForPrimitiveOnActionParameter() { + parameterScenario(Customer.class, "someAction", 0, (processParameterContext, facetHolder, facetedMethod, facetedMethodParameter) -> { + //when + facetFactory.processParamsOptional(processParameterContext); + //then + final Facet facet = facetedMethodParameter.getFacet(MandatoryFacet.class); + assertNotNull(facet); + assertTrue(facet instanceof MandatoryFacetForParameterAnnotation.Optional); + }); + } + @Test + void parameterAnnotationWithOptionalityIgnoredForPrimitiveOnActionParameter() { + @SuppressWarnings("unused") class Customer { - @SuppressWarnings("unused") - public void someAction(@Parameter(optionality = Optionality.OPTIONAL) final int foo) { - } + public void someAction( + @Parameter(optionality = Optionality.OPTIONAL) + final int foo) {} } - final Method method = findMethodExactOrFail(Customer.class, "someAction", new Class[] { int.class }); - - facetFactory.processParamsOptional( - ProcessParameterContext.forTesting( - Customer.class, IntrospectionPolicy.ANNOTATION_OPTIONAL, method, null, facetedMethodParameter)); - - assertNull(facetedMethod.getFacet(MandatoryFacet.class)); + parameterScenario(Customer.class, "someAction", 0, (processParameterContext, facetHolder, facetedMethod, facetedMethodParameter) -> { + //when + facetFactory.processParamsOptional(processParameterContext); + //then + assertNull(facetedMethod.getFacet(MandatoryFacet.class)); + }); } - public void testNullableAnnotationPickedUpOnActionParameter() { - + @Test + void nullableAnnotationPickedUpOnActionParameter() { + @SuppressWarnings("unused") class Customer { - @SuppressWarnings("unused") - public void someAction(final @Nullable String foo) { - } + public void someAction( + final @Nullable String foo) {} } - final Method method = findMethodExactOrFail(Customer.class, "someAction", new Class[] { String.class }); - - facetFactory.processParamsOptional( - ProcessParameterContext.forTesting( - Customer.class, IntrospectionPolicy.ANNOTATION_OPTIONAL, method, null, facetedMethodParameter)); - - final Facet facet = facetedMethodParameter.getFacet(MandatoryFacet.class); - assertNotNull(facet); - assertTrue(facet instanceof MandatoryFacetInvertedByNullableAnnotationOnParameter); + parameterScenario(Customer.class, "someAction", 0, (processParameterContext, facetHolder, facetedMethod, facetedMethodParameter) -> { + //when + facetFactory.processParamsOptional(processParameterContext); + //then + final Facet facet = facetedMethodParameter.getFacet(MandatoryFacet.class); + assertNotNull(facet); + assertTrue(facet instanceof MandatoryFacetInvertedByNullableAnnotationOnParameter); + }); } - public void testNullableAnnotationIgnoredForPrimitiveOnActionParameter() { - + @Test + void nullableAnnotationIgnoredForPrimitiveOnActionParameter() { + @SuppressWarnings("unused") class Customer { - @SuppressWarnings("unused") - public void someAction(final @Nullable int foo) { - } + public void someAction( + final @Nullable int foo) {} } - final Method method = findMethodExactOrFail(Customer.class, "someAction", new Class[] { int.class }); - - facetFactory.processParamsOptional( - ProcessParameterContext.forTesting( - Customer.class, IntrospectionPolicy.ANNOTATION_OPTIONAL, method, null, facetedMethodParameter)); - - assertNull(facetedMethod.getFacet(MandatoryFacet.class)); + parameterScenario(Customer.class, "someAction", 0, (processParameterContext, facetHolder, facetedMethod, facetedMethodParameter) -> { + //when + facetFactory.processParamsOptional(processParameterContext); + //then + assertNull(facetedMethod.getFacet(MandatoryFacet.class)); + }); } }
