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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 1baa103baa ISIS-3209: metamodel test fixes (5)
1baa103baa is described below

commit 1baa103baaaaaf141c17c4ef1fef290796d6a8d4
Author: Andi Huber <[email protected]>
AuthorDate: Tue Sep 13 16:20:27 2022 +0200

    ISIS-3209: metamodel test fixes (5)
---
 .../AbstractFacetFactoryJupiterTestCase.java       |  3 +-
 .../ident/cssclass/CssClassFacetMethodTest.java    | 74 ++++++++++++----------
 .../NavigableParentAnnotationFacetFactoryTest.java |  8 +--
 3 files changed, 46 insertions(+), 39 deletions(-)

diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJupiterTestCase.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJupiterTestCase.java
index adde8529d7..45f58bedf0 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJupiterTestCase.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJupiterTestCase.java
@@ -65,8 +65,7 @@ implements HasMetaModelContext {
         @Getter @Setter private String firstName;
     }
 
-
-    protected void setUpMmc() throws Exception {
+    protected void setUpMmc() {
         metaModelContext = MetaModelContext_forTesting.builder()
                 .valueSemantic(new IntValueSemantics())
                 .build();
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
index fc834d4cc0..c371b72489 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ident/cssclass/CssClassFacetMethodTest.java
@@ -18,31 +18,30 @@
  */
 package org.apache.isis.core.metamodel.facets.object.ident.cssclass;
 
+import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
 
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Introspection;
-import org.apache.isis.applib.annotation.Introspection.IntrospectionPolicy;
 import org.apache.isis.applib.annotation.MemberSupport;
-import org.apache.isis.core.metamodel._testing.MethodRemover_forTesting;
-import org.apache.isis.core.metamodel.facets.AbstractTestWithMetaModelContext;
-import org.apache.isis.core.metamodel.facets.FacetFactory;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import 
org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJupiterTestCase;
+import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import 
org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetViaCssClassMethod;
 import 
org.apache.isis.core.metamodel.facets.object.support.ObjectSupportFacetFactory;
 
 import lombok.val;
 
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
 class CssClassFacetMethodTest
-extends AbstractTestWithMetaModelContext {
+extends AbstractFacetFactoryJupiterTestCase {
 
-    public static final String CSS_CLASS = "someCssClass";
+    static final String CSS_CLASS = "someCssClass";
 
     @DomainObject(introspection = Introspection.ENCAPSULATION_ENABLED)
     static class DomainObjectInCssClassMethod {
@@ -51,41 +50,52 @@ extends AbstractTestWithMetaModelContext {
         }
     }
 
-    ObjectSupportFacetFactory fa;
+    private ObjectSupportFacetFactory facetFactory;
+
+    @BeforeEach
+    void setup() {
+        super.setUpMmc();
+        facetFactory = new ObjectSupportFacetFactory(getMetaModelContext());
+    }
+
+    @AfterEach
+    @Override
+    protected void tearDown() throws Exception {
+        facetFactory = null;
+        super.tearDown();
+    }
 
     @BeforeEach
     void setUp() throws Exception {
-        super.setupWithDefaultProgrammingModel();
-//
-//        super.setupWithProgrammingModel((mmc, prog)->
-//            prog.addFactory(FacetProcessingOrder.F1_LAYOUT, fa = new 
ObjectSupportFacetFactory(mmc)));
+        super.setUpMmc();
     }
 
     @Test
     void test() {
 
-        
//getSpecificationLoader().reloadSpecification(DomainObjectInCssClassMethod.class);
-
-        val spec = 
getSpecificationLoader().loadSpecification(DomainObjectInCssClassMethod.class);
+        val domainClass = DomainObjectInCssClassMethod.class;
+        val facetedMethod = facetedAction(DomainObjectInCssClassMethod.class, 
"cssClass");
 
-        val ctx = new FacetFactory.ProcessClassContext(
-                DomainObjectInCssClassMethod.class,
-                IntrospectionPolicy.ENCAPSULATION_ENABLED,
-                new MethodRemover_forTesting(), spec);
+        facetFactory.process(ProcessClassContext
+                .forTesting(domainClass, defaultMethodRemover(), 
facetedMethod));
 
-        val fa = new ObjectSupportFacetFactory(getMetaModelContext());
+        val cssClassFacet = assertHasCssClassFacet(facetedMethod);
+        assertTrue(cssClassFacet instanceof CssClassFacetViaCssClassMethod);
 
-        fa.process(ctx);
+        val imperativeCssClassFacet = 
(CssClassFacetViaCssClassMethod)cssClassFacet;
 
+        val domainObject = getObjectManager().adapt(new 
DomainObjectInCssClassMethod());
 
-        val pojo = new DomainObjectInCssClassMethod();
-        val object = getObjectManager().adapt(pojo);
+        assertEquals(CSS_CLASS,
+                imperativeCssClassFacet.cssClass(domainObject));
+    }
 
-        val cssClass = spec
-                //object.getSpecification()
-                .getCssClass(object);
+    // -- HELPER
 
-        assertThat(cssClass, is(equalTo(CSS_CLASS)));
+    CssClassFacet assertHasCssClassFacet(final FacetHolder facetHolder) {
+        val navigableParentFacet = facetHolder.getFacet(CssClassFacet.class);
+        assertNotNull(navigableParentFacet, ()->"CssClassFacet required");
+        return navigableParentFacet;
     }
 
 }
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/navparent/annotation/NavigableParentAnnotationFacetFactoryTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/navparent/annotation/NavigableParentAnnotationFacetFactoryTest.java
index 225f210017..b04de60599 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/navparent/annotation/NavigableParentAnnotationFacetFactoryTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/navparent/annotation/NavigableParentAnnotationFacetFactoryTest.java
@@ -68,9 +68,7 @@ extends AbstractFacetFactoryJupiterTestCase {
 
         val domainObject = new DomainObjectA();
         val parentMethodName = "root";
-
-        final Class<?> domainClass = domainObject.getClass();
-
+        val domainClass = domainObject.getClass();
         val facetedMethod = facetedAction(domainClass, parentMethodName);
 
         facetFactory.process(ProcessClassContext
@@ -82,8 +80,8 @@ extends AbstractFacetFactoryJupiterTestCase {
         final Method parentMethod = domainClass.getMethod(parentMethodName);
 
         assertEquals(
-                parentMethod.invoke(domainObject, _Constants.emptyObjects),
-                navigableParentFacet.navigableParent(domainObject)     );
+                navigableParentFacet.navigableParent(domainObject),
+                parentMethod.invoke(domainObject, _Constants.emptyObjects));
     }
 
     // -- HELPER

Reply via email to