You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by mg...@apache.org on 2014/12/18 22:58:13 UTC

isis git commit: ISIS-967: Use a more specific matcher for the check for LayoutMetadataReader in ObjectReflectorDefault

Repository: isis
Updated Branches:
  refs/heads/master 4af93b081 -> 5fa0eb1d8


ISIS-967: Use a more specific matcher for the check for LayoutMetadataReader in ObjectReflectorDefault


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/5fa0eb1d
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/5fa0eb1d
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/5fa0eb1d

Branch: refs/heads/master
Commit: 5fa0eb1d8ffec9add9d19b0017ab737d23939583
Parents: 4af93b0
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Dec 18 23:56:50 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Dec 18 23:56:50 2014 +0200

----------------------------------------------------------------------
 .../specloader/ObjectReflectorDefault.java      |  9 +++---
 .../ObjectReflectorDefaultTestAbstract.java     | 34 +++++++++++++++++++-
 2 files changed, 38 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/5fa0eb1d/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
index f8e52d2..36b3ed8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefault.java
@@ -67,9 +67,10 @@ import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
 import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
 
 import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.Matchers.greaterThan;
+import static org.hamcrest.Matchers.emptyCollectionOf;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.not;
+import static org.hamcrest.Matchers.notNullValue;
 
 /**
  * Builds the meta-model.
@@ -169,7 +170,7 @@ public final class ObjectReflectorDefault implements SpecificationLoaderSpi, App
         ensureThatArg(facetDecorators, is(notNullValue()));
         ensureThatArg(metaModelValidator, is(notNullValue()));
         ensureThatArg(layoutMetadataReaders, is(notNullValue()));
-        ensureThatArg(layoutMetadataReaders.size(), is(greaterThan(0)));
+        ensureThatArg(layoutMetadataReaders, is(not(emptyCollectionOf(LayoutMetadataReader.class))));
 
         this.configuration = configuration;
         this.programmingModel = programmingModel;

http://git-wip-us.apache.org/repos/asf/isis/blob/5fa0eb1d/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
index c3a4b75..8f0c611 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
@@ -28,6 +28,7 @@ import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetdecorator.FacetDecorator;
@@ -53,7 +54,10 @@ public abstract class ObjectReflectorDefaultTestAbstract {
 
     @Rule
     public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_ONLY);
-    
+
+    @Rule
+    public ExpectedException expectedException = ExpectedException.none();
+
     private RuntimeContext runtimeContext;
 
     @Mock
@@ -93,6 +97,34 @@ public abstract class ObjectReflectorDefaultTestAbstract {
     protected abstract ObjectSpecification loadSpecification(ObjectReflectorDefault reflector);
 
     @Test
+    public void testLayoutMetadataReaderEmptyList() {
+        expectedException.expect(IllegalArgumentException.class);
+        expectedException.expectMessage("illegal argument, expected: is not an empty collection");
+
+        new ObjectReflectorDefault(
+            mockConfiguration,
+            new ProgrammingModelFacetsJava5(),
+            new HashSet<FacetDecorator>(),
+            new MetaModelValidatorDefault(),
+            Lists.<LayoutMetadataReader>newArrayList()
+        );
+    }
+
+    @Test
+    public void testLayoutMetadataReaderNull() {
+        expectedException.expect(IllegalArgumentException.class);
+        expectedException.expectMessage("illegal argument, expected: is not null");
+
+        new ObjectReflectorDefault(
+            mockConfiguration,
+            new ProgrammingModelFacetsJava5(),
+            new HashSet<FacetDecorator>(),
+            new MetaModelValidatorDefault(),
+            null
+        );
+    }
+
+    @Test
     public void testCollectionFacet() throws Exception {
         final Facet facet = specification.getFacet(CollectionFacet.class);
         Assert.assertNull(facet);