You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/05/09 19:34:31 UTC

[5/5] git commit: ISIS-550: fixing unit test.

ISIS-550: fixing unit test.


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

Branch: refs/heads/ISIS-550
Commit: fe05886c7ad70560419647bbee0c220f466a0046
Parents: f883304
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri May 9 18:33:48 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri May 9 18:33:48 2014 +0100

----------------------------------------------------------------------
 .../facets/ImperativeFacetUtilsTest.java        | 47 ++++++++++++++------
 1 file changed, 33 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/fe05886c/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ImperativeFacetUtilsTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ImperativeFacetUtilsTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ImperativeFacetUtilsTest.java
index 5efadc3..feee4dd 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ImperativeFacetUtilsTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/ImperativeFacetUtilsTest.java
@@ -30,20 +30,26 @@ import com.google.common.collect.Lists;
 
 import org.jmock.Expectations;
 import org.jmock.Mockery;
+import org.jmock.auto.Mock;
 import org.jmock.integration.junit4.JMock;
 import org.jmock.integration.junit4.JUnit4Mockery;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import org.apache.isis.applib.filter.Filter;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 import org.apache.isis.core.unittestsupport.jmocking.JavassistImposteriser;
 
-@RunWith(JMock.class)
 public class ImperativeFacetUtilsTest {
 
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
     public static class Customer {
 
         private String firstName;
@@ -58,31 +64,45 @@ public class ImperativeFacetUtilsTest {
 
     }
 
-    private final Mockery context = new JUnit4Mockery() {
-        {
-            setImposteriser(JavassistImposteriser.INSTANCE);
-        }
-    };
-
+    @Mock
     private ObjectMember mockObjectMember;
+
+    public static interface ImperativeFacetAndFacet extends ImperativeFacet, Facet {}
+    @Mock
+    private ImperativeFacetAndFacet mockImperativeFacet;
+    
     private Method method;
 
     @Before
     public void setUp() throws Exception {
-        mockObjectMember = context.mock(ObjectMember.class);
         method = Customer.class.getDeclaredMethod("getFirstName");
+
+        context.checking(new Expectations() {
+            {
+                allowing(mockImperativeFacet).getMethods();
+                will(returnValue(Lists.newArrayList(method)));
+
+                allowing(mockImperativeFacet).impliesResolve();
+                will(returnValue(true));
+                
+                allowing(mockImperativeFacet).impliesObjectChanged();
+                will(returnValue(true));
+            }
+        });
+
     }
 
     @SuppressWarnings("unchecked")
     @Test
     public void getImperativeFacetsWhenHasNone() throws Exception {
+        
         context.checking(new Expectations() {
             {
-                one(mockObjectMember).getFacets(with(any(Filter.class)));
+                oneOf(mockObjectMember).getFacets(with(any(Filter.class)));
                 will(returnValue(Lists.newArrayList()));
             }
         });
-        final ImperativeFacet.Flags flags = ImperativeFacetUtils.getImperativeFacetFlags(mockObjectMember, method);
+        final ImperativeFacet.Flags flags = ImperativeFacet.Util.getImperativeFacetFlags(mockObjectMember, method);
         assertThat(flags, is(not(nullValue())));
         assertThat(flags.impliesResolve(), is(false));
         assertThat(flags.impliesObjectChanged(), is(false));
@@ -91,14 +111,13 @@ public class ImperativeFacetUtilsTest {
     @SuppressWarnings("unchecked")
     @Test
     public void getImperativeFacetsWhenHasOneImperativeFacet() throws Exception {
-        final ImperativeFacet imperativeFacet = null;
         context.checking(new Expectations() {
             {
-                one(mockObjectMember).getFacets(with(any(Filter.class)));
-                will(returnValue(Lists.newArrayList((Facet) imperativeFacet)));
+                oneOf(mockObjectMember).getFacets(with(any(Filter.class)));
+                will(returnValue(Lists.newArrayList((Facet) mockImperativeFacet)));
             }
         });
-        final ImperativeFacet.Flags flags = ImperativeFacetUtils.getImperativeFacetFlags(mockObjectMember, method);
+        final ImperativeFacet.Flags flags = ImperativeFacet.Util.getImperativeFacetFlags(mockObjectMember, method);
         assertThat(flags, is(not(nullValue())));
         // TODO: need more tests here, these don't go deep enough...
     }