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 b0939ed7e1 ISIS-3209: metamodel test fixes (2)
b0939ed7e1 is described below

commit b0939ed7e116f16e8b640e0824dc06954f9c69cb
Author: Andi Huber <[email protected]>
AuthorDate: Tue Sep 13 11:44:53 2022 +0200

    ISIS-3209: metamodel test fixes (2)
---
 .../isis/commons/internal/base/_Strings.java       |  12 +--
 core/metamodel/src/main/java/module-info.java      |   2 -
 .../commons/StringUtils_NormalizedTest.java        |  55 +++++-----
 ...jectAssociationPredicatesTest_visibleWhere.java | 114 +++++++++------------
 .../ApplicationFeatureRepositoryDefaultTest.java   |  34 +++---
 .../specloader/SpecificationCacheDefaultTest.java  |  21 ++--
 6 files changed, 101 insertions(+), 137 deletions(-)

diff --git 
a/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java 
b/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
index 8505519180..282f60c365 100644
--- a/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
+++ b/commons/src/main/java/org/apache/isis/commons/internal/base/_Strings.java
@@ -278,7 +278,7 @@ public final class _Strings {
      * @param input
      * @return null if {@code input} is null
      */
-    public static String capitalize(final @Nullable String input) {
+    public static @Nullable String capitalize(final @Nullable String input) {
         if(input==null) {
             return null;
         }
@@ -296,7 +296,7 @@ public final class _Strings {
      * @param input
      * @return null if {@code input} is null
      */
-    public static String decapitalize(final @Nullable String input) {
+    public static @Nullable String decapitalize(final @Nullable String input) {
         if(input==null) {
             return null;
         }
@@ -311,7 +311,7 @@ public final class _Strings {
 
     // -- SPECIAL UNARY OPERATORS
 
-    public static String htmlEscape(final String source) {
+    public static @Nullable String htmlEscape(final @Nullable String source) {
         return _Strings_HtmlEscaper.htmlEscape(source);
     }
 
@@ -320,7 +320,7 @@ public final class _Strings {
     /**
      * @see "https://stackoverflow.com/a/4571518/9269480";
      */
-    public static boolean isUrlSafe(final String input) {
+    public static boolean isUrlSafe(final @Nullable String input) {
         if(_Strings.isEmpty(input)) {
             return true;
         }
@@ -342,7 +342,7 @@ public final class _Strings {
      * @param prefix
      * @return null if {@code input} is null
      */
-    public static String prefix(final @Nullable String input, final @NonNull 
String prefix) {
+    public static @Nullable String prefix(final @Nullable String input, final 
@NonNull String prefix) {
         if(input==null) {
             return null;
         }
@@ -358,7 +358,7 @@ public final class _Strings {
      * @param suffix
      * @return null if {@code input} is null
      */
-    public static String suffix(final @Nullable String input, final @NonNull 
String suffix) {
+    public static @Nullable String suffix(final @Nullable String input, final 
@NonNull String suffix) {
         if(input==null) {
             return null;
         }
diff --git a/core/metamodel/src/main/java/module-info.java 
b/core/metamodel/src/main/java/module-info.java
index 6e30f5aa87..2faa38e5e8 100644
--- a/core/metamodel/src/main/java/module-info.java
+++ b/core/metamodel/src/main/java/module-info.java
@@ -309,6 +309,4 @@ open module org.apache.isis.core.metamodel {
 
 //   opens org.apache.isis.core.metamodel.services to spring.core;
 //   opens org.apache.isis.core.metamodel.services.registry to spring.core;
-
-
 }
\ No newline at end of file
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/commons/StringUtils_NormalizedTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/commons/StringUtils_NormalizedTest.java
index 2c4c78c173..890a4444c9 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/commons/StringUtils_NormalizedTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/commons/StringUtils_NormalizedTest.java
@@ -18,46 +18,37 @@
  */
 package org.apache.isis.core.metamodel.commons;
 
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
 
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-public class StringUtils_NormalizedTest {
+class StringUtils_NormalizedTest {
 
-    //@Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][] { { null, null, }, // null
-            { "", "", }, // empty string
-            { "yada Foobar", "yada Foobar", }, // alreadyNormalized
-            { "Yada\tFoobar", "Yada Foobar", }, // tab
-            { "Yada\t Foobar", "Yada Foobar", }, // tab and space
-            { "Yada  foobar", "Yada foobar", }, // two spaces
-            { "Yada\nfoobar", "Yada foobar", }, // new line
-            { "Yada\n Foobar", "Yada Foobar", }, // newline and space
-            { "Yada\r\n Foobar", "Yada Foobar", }, // windows newline
-            { "Yada\r Foobar", "Yada Foobar", }, // macos newline
-            { "Yada\r \tFoo \n\tbar  Baz", "Yada Foo bar Baz", }, // multiple
-        });
-    }
-
-    private final String input;
-    private final String expected;
-
-    public StringUtils_NormalizedTest(final String input, final String 
expected) {
-        this.input = input;
-        this.expected = expected;
+    @ParameterizedTest
+    @MethodSource("data")
+    public void normalizesOk(final String input, final String expected) {
+        assertThat(StringExtensions.normalized(input), is(expected));
     }
 
-    @Test
-    public void normalizesOk() {
-        assertThat(StringExtensions.normalized(input), is(expected));
+    private static Stream<Arguments> data() {
+        return Stream.of(
+          Arguments.of(null, null), // null
+          Arguments.of("", ""), // empty string
+          Arguments.of("yada Foobar", "yada Foobar"), // alreadyNormalized
+          Arguments.of("Yada\tFoobar", "Yada Foobar"), // tab
+          Arguments.of("Yada\t Foobar", "Yada Foobar"), // tab and space
+          Arguments.of("Yada  foobar", "Yada foobar"), // two spaces
+          Arguments.of("Yada\nfoobar", "Yada foobar"), // new line
+          Arguments.of("Yada\n Foobar", "Yada Foobar"), // newline and space
+          Arguments.of("Yada\r\n Foobar", "Yada Foobar"), // windows newline
+          Arguments.of("Yada\r Foobar", "Yada Foobar"), // macos newline
+          Arguments.of("Yada\r \tFoo \n\tbar  Baz", "Yada Foo bar Baz") // 
multiple
+        );
     }
 
 }
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
index 3cd2d721c0..937e163035 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationPredicatesTest_visibleWhere.java
@@ -18,15 +18,15 @@
  */
 package org.apache.isis.core.metamodel.feature;
 
-import java.util.Arrays;
-import java.util.Collection;
 import java.util.List;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.mockito.Mockito;
 
 import static org.hamcrest.CoreMatchers.is;
@@ -39,82 +39,60 @@ import 
org.apache.isis.core.metamodel.facets.WhereValueFacet;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-public class ObjectAssociationPredicatesTest_visibleWhere {
+class ObjectAssociationPredicatesTest_visibleWhere {
 
     private ObjectAssociation mockObjectAssociation;
     private HiddenFacet mockHiddenFacet;
 
-    // given
-    private Where where;
-
-    // when
-    private Where whereContext;
-
-    // then
-    private boolean expectedVisibility;
-
-
-    //@Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][]{
-            {Where.ANYWHERE, Where.ANYWHERE, false},
-            {Where.OBJECT_FORMS, Where.OBJECT_FORMS, false},
-            {Where.OBJECT_FORMS, Where.ALL_TABLES, true},
-            {Where.OBJECT_FORMS, Where.PARENTED_TABLES, true},
-            {Where.OBJECT_FORMS, Where.REFERENCES_PARENT, true},
-            {Where.OBJECT_FORMS, Where.STANDALONE_TABLES, true},
-            {Where.STANDALONE_TABLES, Where.OBJECT_FORMS, true},
-            {Where.STANDALONE_TABLES, Where.PARENTED_TABLES, true},
-            {Where.STANDALONE_TABLES, Where.REFERENCES_PARENT, true},
-            {Where.STANDALONE_TABLES, Where.STANDALONE_TABLES, false},
-            {Where.PARENTED_TABLES, Where.OBJECT_FORMS, true},
-            {Where.PARENTED_TABLES, Where.PARENTED_TABLES, false},
-            {Where.PARENTED_TABLES, Where.REFERENCES_PARENT, true},
-            {Where.PARENTED_TABLES, Where.STANDALONE_TABLES, true},
-            {Where.ALL_TABLES, Where.OBJECT_FORMS, true},
-            {Where.ALL_TABLES, Where.PARENTED_TABLES, false},
-            {Where.ALL_TABLES, Where.STANDALONE_TABLES, false},
-            {Where.ALL_TABLES, Where.REFERENCES_PARENT, true},
-        });
-    }
-
-    public ObjectAssociationPredicatesTest_visibleWhere(
-            final Where where, final Where context, final boolean visible) {
-        this.where = where;
-        this.whereContext = context;
-        this.expectedVisibility = visible;
-    }
-
     @BeforeEach
     public void setUp() throws Exception {
         mockHiddenFacet = Mockito.mock(HiddenFacet.class);
         mockObjectAssociation = Mockito.mock(ObjectAssociation.class);
-        Mockito.when(mockHiddenFacet.where()).thenReturn(where);
-        
Mockito.when(mockObjectAssociation.streamFacets()).thenReturn(_Lists.<Facet>of(mockHiddenFacet).stream());
     }
 
-    @Test
-    public void test() {
-        final Predicate<ObjectAssociation> predicate = new 
Predicate<ObjectAssociation>() {
-            @Override
-            public boolean test(final ObjectAssociation association) {
-                final List<Facet> facets = association.streamFacets()
-                        .filter(new Predicate<Facet>() {
-                            @Override public boolean test(final Facet facet) {
-                                return facet instanceof WhereValueFacet && 
facet instanceof HiddenFacet;
-                            }
-                        })
-                        .collect(Collectors.toList());
-                for (Facet facet : facets) {
-                    final WhereValueFacet wawF = (WhereValueFacet) facet;
-                    if (wawF.where().includes(whereContext)) {
-                        return false;
-                    }
+    private static Stream<Arguments> data() {
+        return Stream.of(
+          Arguments.of(Where.ANYWHERE, Where.ANYWHERE, false),
+          Arguments.of(Where.OBJECT_FORMS, Where.OBJECT_FORMS, false),
+          Arguments.of(Where.OBJECT_FORMS, Where.ALL_TABLES, true),
+          Arguments.of(Where.OBJECT_FORMS, Where.PARENTED_TABLES, true),
+          Arguments.of(Where.OBJECT_FORMS, Where.REFERENCES_PARENT, true),
+          Arguments.of(Where.OBJECT_FORMS, Where.STANDALONE_TABLES, true),
+          Arguments.of(Where.STANDALONE_TABLES, Where.OBJECT_FORMS, true),
+          Arguments.of(Where.STANDALONE_TABLES, Where.PARENTED_TABLES, true),
+          Arguments.of(Where.STANDALONE_TABLES, Where.REFERENCES_PARENT, true),
+          Arguments.of(Where.STANDALONE_TABLES, Where.STANDALONE_TABLES, 
false),
+          Arguments.of(Where.PARENTED_TABLES, Where.OBJECT_FORMS, true),
+          Arguments.of(Where.PARENTED_TABLES, Where.PARENTED_TABLES, false),
+          Arguments.of(Where.PARENTED_TABLES, Where.REFERENCES_PARENT, true),
+          Arguments.of(Where.PARENTED_TABLES, Where.STANDALONE_TABLES, true),
+          Arguments.of(Where.ALL_TABLES, Where.OBJECT_FORMS, true),
+          Arguments.of(Where.ALL_TABLES, Where.PARENTED_TABLES, false),
+          Arguments.of(Where.ALL_TABLES, Where.STANDALONE_TABLES, false),
+          Arguments.of(Where.ALL_TABLES, Where.REFERENCES_PARENT, true)
+        );
+    }
+
+    @ParameterizedTest
+    @MethodSource("data")
+    public void visibleWhere(
+            final Where where, final Where whereContext, final boolean 
expectedVisibility) {
+        Mockito.when(mockHiddenFacet.where()).thenReturn(where);
+        Mockito.when(mockObjectAssociation.streamFacets())
+            .thenReturn(_Lists.<Facet>of(mockHiddenFacet).stream());
+
+        final Predicate<ObjectAssociation> predicate = association -> {
+            final List<Facet> facets = association.streamFacets()
+                    .filter(facet -> facet instanceof WhereValueFacet
+                            && facet instanceof HiddenFacet)
+                    .collect(Collectors.toList());
+            for (Facet facet : facets) {
+                final WhereValueFacet wawF = (WhereValueFacet) facet;
+                if (wawF.where().includes(whereContext)) {
+                    return false;
                 }
-                return true;
             }
+            return true;
         };
         assertThat(predicate.test(mockObjectAssociation), 
is(expectedVisibility));
     }
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
index 42d60e0577..77fc8ad115 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
@@ -22,11 +22,7 @@ import java.util.stream.Stream;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
@@ -43,36 +39,37 @@ import 
org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-@ExtendWith(MockitoExtension.class)
 class ApplicationFeatureRepositoryDefaultTest {
 
-    @Mock ObjectSpecification mockSpec;
-    @Mock OneToOneAssociation mockProp;
-    @Mock OneToManyAssociation mockColl;
-    @Mock ObjectAction mockAct;
-
+    ObjectSpecification mockSpec;
+    OneToOneAssociation mockProp;
+    OneToManyAssociation mockColl;
+    ObjectAction mockAct;
+    FactoryService mockFactoryService;
+    SpecificationLoader mockSpecificationLoader;
     ObjectAction mockActThatIsHidden;
-
-    @Mock FactoryService mockFactoryService;
-    @Mock ServiceRegistry mockServiceRegistry;
-    @Mock SpecificationLoader mockSpecificationLoader;
+    ServiceRegistry mockServiceRegistry;
 
     protected ApplicationFeatureRepositoryDefault applicationFeatureRepository;
 
     @BeforeEach
     public void setUp() throws Exception {
 
+        mockSpecificationLoader = Mockito.mock(SpecificationLoader.class);
+
         applicationFeatureRepository = new ApplicationFeatureRepositoryDefault(
                 /*configuration*/ null,
                 mockSpecificationLoader);
 
         mockActThatIsHidden = Mockito.mock(ObjectAction.class, 
"mockActThatIsHidden");
+
+        mockSpec = Mockito.mock(ObjectSpecification.class);
+        mockProp = Mockito.mock(OneToOneAssociation.class);
+        mockColl = Mockito.mock(OneToManyAssociation.class);
+        mockAct = Mockito.mock(ObjectAction.class);
+        mockFactoryService = Mockito.mock(FactoryService.class);
     }
 
-  //FIXME[ISIS-3207]
-    @DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = 
"true")
     public static class AddClassParent extends 
ApplicationFeatureRepositoryDefaultTest {
 
         private static ApplicationFeature newApplicationFeature(final 
ApplicationFeatureId featId) {
@@ -83,6 +80,7 @@ class ApplicationFeatureRepositoryDefaultTest {
         @BeforeEach
         public void setUp() throws Exception {
             super.setUp();
+            mockServiceRegistry = Mockito.mock(ServiceRegistry.class);
             
Mockito.when(mockServiceRegistry.streamRegisteredBeans()).thenReturn(Stream.of());
             
Mockito.when(mockSpecificationLoader.snapshotSpecifications()).thenReturn(Can.empty());
         }
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefaultTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefaultTest.java
index 7bcc8bd947..d734a5d226 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefaultTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationCacheDefaultTest.java
@@ -21,11 +21,7 @@ package org.apache.isis.core.metamodel.specloader;
 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 org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.junit.jupiter.MockitoExtension;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
@@ -37,23 +33,26 @@ import 
org.apache.isis.core.metamodel.spec.ObjectSpecification;
 
 import lombok.val;
 
-//FIXME[ISIS-3207]
-@DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true")
-@ExtendWith(MockitoExtension.class)
 class SpecificationCacheDefaultTest {
 
     private LogicalType cus = _LogicalTypeTestFactory.cus();
     private LogicalType ord = _LogicalTypeTestFactory.ord();
 
-    @Mock ObjectSpecification customerSpec;
-    @Mock ObjectSpecification orderSpec;
+    ObjectSpecification customerSpec;
+    ObjectSpecification orderSpec;
 
-    private SpecificationCache<ObjectSpecification> specificationCache = new 
SpecificationCacheDefault<>();
-    private LogicalTypeResolver logicalTypeResolver = new 
LogicalTypeResolverDefault();
+    private SpecificationCache<ObjectSpecification> specificationCache =
+            new SpecificationCacheDefault<>();
+    private LogicalTypeResolver logicalTypeResolver =
+            new LogicalTypeResolverDefault();
 
+    @SuppressWarnings({ "unchecked", "rawtypes" })
     @BeforeEach
     public void setUp() throws Exception {
 
+        customerSpec = Mockito.mock(ObjectSpecification.class);
+        orderSpec = Mockito.mock(ObjectSpecification.class);
+
         
Mockito.when(customerSpec.getCorrespondingClass()).thenReturn((Class)Customer.class);
         Mockito.when(customerSpec.getLogicalType()).thenReturn(cus);
 

Reply via email to