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);