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 2013/03/14 23:29:20 UTC

[1/8] ISIS-362: upgrading to JMock 2.6.0

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/ReturnEachAction.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/ReturnEachAction.java b/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/ReturnEachAction.java
deleted file mode 100644
index 560cea8..0000000
--- a/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/jmocking/ReturnEachAction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.unittestsupport.jmocking;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.hamcrest.Description;
-import org.jmock.api.Action;
-import org.jmock.api.Invocation;
-
-public class ReturnEachAction<T> implements Action {
-    
-    private final Collection<T> collection;
-    private final Iterator<T> iterator;
-    
-    public ReturnEachAction(Collection<T> collection) {
-        this.collection = collection;
-        this.iterator = collection.iterator();
-    }
-    
-    public ReturnEachAction(T... array) {
-        this(Arrays.asList(array));
-    }
-    
-    public T invoke(Invocation invocation) throws Throwable {
-        return iterator.next();
-    }
-    
-    public void describeTo(Description description) {
-        description.appendValueList("return iterator.next() over ", ", ", "", collection);
-    }
-    
-    /**
-     * Factory
-     */
-    public static <T> Action returnEach(final T... values) {
-        return new ReturnEachAction<T>(values);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract.java b/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract.java
index 2602a29..6f95b02 100644
--- a/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract.java
+++ b/core/unittestsupport/src/main/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract.java
@@ -18,7 +18,6 @@
  */
 package org.apache.isis.core.unittestsupport.value;
 
-import static org.hamcrest.CoreMatchers.*;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.is;

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/files/FilesTest_deleteFiles.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/files/FilesTest_deleteFiles.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/files/FilesTest_deleteFiles.java
index 07d4134..21e9398 100644
--- a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/files/FilesTest_deleteFiles.java
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/files/FilesTest_deleteFiles.java
@@ -22,17 +22,15 @@ import java.io.File;
 import java.io.IOException;
 
 import org.hamcrest.Description;
-import org.hamcrest.Factory;
 import org.hamcrest.Matcher;
 import org.hamcrest.TypeSafeMatcher;
 import org.jmock.Expectations;
+import org.jmock.auto.Mock;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.isis.core.unittestsupport.files.Files;
 import org.apache.isis.core.unittestsupport.files.Files.Deleter;
 import org.apache.isis.core.unittestsupport.files.Files.Recursion;
-import org.apache.isis.core.unittestsupport.jmock.auto.Mock;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/Collaborating.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/Collaborating.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/Collaborating.java
new file mode 100644
index 0000000..4316c7e
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/Collaborating.java
@@ -0,0 +1,18 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+public class Collaborating {
+    final Collaborator collaborator;
+
+    public Collaborating(final Collaborator collaborator) {
+        this.collaborator = collaborator;
+    }
+
+    public void collaborateWithCollaborator() {
+        collaborator.doOtherStuff();
+    }
+    
+    public void dontCollaborateWithCollaborator() {
+        
+    }
+    
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/Collaborator.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/Collaborator.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/Collaborator.java
new file mode 100644
index 0000000..1e8d893
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/Collaborator.java
@@ -0,0 +1,5 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+public interface Collaborator {
+    public void doOtherStuff();
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnArgument.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnArgument.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnArgument.java
new file mode 100644
index 0000000..5b6ae46
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnArgument.java
@@ -0,0 +1,49 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class JMockActionsTest_returnArgument {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private CollaboratorForReturnArgument collaborator;
+
+    @Test
+    public void poke() {
+        context.checking(new Expectations() {
+            {
+                one(collaborator).selectOneOf(with(any(Integer.class)), with(any(Integer.class)), with(any(Integer.class)));
+                will(JMockActions.returnArgument(1)); // ie the 2nd argument, which is '20'
+            }
+        });
+        assertThat(new ClassUnderTestForReturnArgument(collaborator).addTo(4), is(24)); // adding 4 to the second argument
+    }
+
+    public interface CollaboratorForReturnArgument {
+        public int selectOneOf(int x, int y, int z);
+    }
+
+    public static class ClassUnderTestForReturnArgument {
+        private final CollaboratorForReturnArgument collaborator;
+
+        private ClassUnderTestForReturnArgument(final CollaboratorForReturnArgument collaborator) {
+            this.collaborator = collaborator;
+        }
+
+        public int addTo(int x) {
+            return x + collaborator.selectOneOf(10, 20, 30);
+        }
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnEach.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnEach.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnEach.java
new file mode 100644
index 0000000..d2fb421
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JMockActionsTest_returnEach.java
@@ -0,0 +1,51 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class JMockActionsTest_returnEach {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private CollaboratorForReturnEach collaborator;
+
+    @Test
+    public void poke() {
+        context.checking(new Expectations() {
+            {
+                exactly(3).of(collaborator).readValue();
+                will(JMockActions.returnEach(1,2,3));
+            }
+        });
+        assertThat(new ClassUnderTestForReturnEach(collaborator).prependAndRead("foo"), is("foo 1"));
+        assertThat(new ClassUnderTestForReturnEach(collaborator).prependAndRead("bar"), is("bar 2"));
+        assertThat(new ClassUnderTestForReturnEach(collaborator).prependAndRead("baz"), is("baz 3"));
+    }
+    
+    public interface CollaboratorForReturnEach {
+        public int readValue();
+    }
+
+    public static class ClassUnderTestForReturnEach {
+        private final CollaboratorForReturnEach collaborator;
+
+        private ClassUnderTestForReturnEach(final CollaboratorForReturnEach collaborator) {
+            this.collaborator = collaborator;
+        }
+
+        public String prependAndRead(String prepend) {
+            return prepend + " " + collaborator.readValue();
+        }
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnit4RuleMockery2Test.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnit4RuleMockery2Test.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnit4RuleMockery2Test.java
deleted file mode 100644
index e22f369..0000000
--- a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnit4RuleMockery2Test.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.unittestsupport.jmocking;
-
-import org.jmock.Expectations;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.unittestsupport.jmock.auto.Mock;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-
-public class JUnit4RuleMockery2Test {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    public static class Collaborator {
-        public void doOtherStuff() {
-        }
-    }
-
-    public static class ClassUnderTest {
-        private final Collaborator collaborator;
-
-        private ClassUnderTest(final Collaborator collaborator) {
-            this.collaborator = collaborator;
-        }
-
-        public void doStuff() {
-            collaborator.doOtherStuff();
-        }
-    }
-
-    @Mock
-    private Collaborator collaborator;
-
-    @Test
-    public void poke() {
-        context.checking(new Expectations() {
-            {
-                one(collaborator).doOtherStuff();
-            }
-        });
-        new ClassUnderTest(collaborator).doStuff();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test.java
new file mode 100644
index 0000000..627cf2f
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test.java
@@ -0,0 +1,27 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class JUnitRuleMockery2Test {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private Collaborator collaborator;
+
+    @Test
+    public void poke() {
+        context.checking(new Expectations() {
+            {
+                one(collaborator).doOtherStuff();
+            }
+        });
+        new Collaborating(collaborator).collaborateWithCollaborator();
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_happyCase.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_happyCase.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_happyCase.java
new file mode 100644
index 0000000..44c88e9
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_happyCase.java
@@ -0,0 +1,38 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.not;
+import static org.hamcrest.Matchers.nullValue;
+import static org.junit.Assert.assertThat;
+
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ClassUnderTest;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class JUnitRuleMockery2Test_autoWiring_happyCase {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private Collaborator collaborator;
+
+    @ClassUnderTest
+	private Collaborating collaborating;
+
+    @Before
+	public void setUp() throws Exception {
+    	collaborating = (Collaborating) context.getClassUnderTest();
+	}
+    
+    @Test
+    public void wiring() {
+    	assertThat(collaborating.collaborator, is(not(nullValue())));
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_noClassUnderTest.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_noClassUnderTest.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_noClassUnderTest.java
new file mode 100644
index 0000000..7294326
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_noClassUnderTest.java
@@ -0,0 +1,26 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.auto.Mock;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class JUnitRuleMockery2Test_autoWiring_sadCase_noClassUnderTest {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private Collaborator collaborator;
+
+    // @ClassUnderTest
+	@SuppressWarnings("unused")
+	private Collaborating collaborating;
+
+    @Test(expected=IllegalStateException.class)
+    public void cannotFindClassUnderTest() {
+    	context.getClassUnderTest();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_twoClassesUnderTest.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_twoClassesUnderTest.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_twoClassesUnderTest.java
new file mode 100644
index 0000000..cae7c64
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_autoWiring_sadCase_twoClassesUnderTest.java
@@ -0,0 +1,31 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.auto.Mock;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ClassUnderTest;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class JUnitRuleMockery2Test_autoWiring_sadCase_twoClassesUnderTest {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private Collaborator collaborator;
+
+    @ClassUnderTest
+	private Collaborating collaborating;
+
+    @ClassUnderTest
+	private Collaborating anotherCollaborating;
+
+    @Ignore("This isn't actually possible to test, because the test is actually thrown by the rule, which is further up the callstack than the test method")
+    @Test(expected=AssertionError.class)
+    public void cannotFindClassUnderTest() {
+    	context.getClassUnderTest();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithAllowing.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithAllowing.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithAllowing.java
new file mode 100644
index 0000000..f7c2568
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithAllowing.java
@@ -0,0 +1,40 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Allowing;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ClassUnderTest;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class JUnitRuleMockery2Test_mockAnnotatedWithAllowing {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Allowing
+    @Mock
+    private Collaborator collaborator;
+
+    @ClassUnderTest
+	private Collaborating collaborating;
+
+    @Before
+	public void setUp() throws Exception {
+    	collaborating = (Collaborating) context.getClassUnderTest();
+	}
+    
+    @Test
+    public void invocationOnCollaboratorIsIgnored() {
+    	collaborating.collaborateWithCollaborator();
+    }
+
+    @Test
+    public void lackOfInvocationOnCollaboratorIsIgnored() {
+    	collaborating.dontCollaborateWithCollaborator();
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithChecking.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithChecking.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithChecking.java
new file mode 100644
index 0000000..078b66c
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithChecking.java
@@ -0,0 +1,42 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Checking;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ClassUnderTest;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ExpectationsOn;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class JUnitRuleMockery2Test_mockAnnotatedWithChecking {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    public static class ExpectCall extends ExpectationsOn<Collaborator> {
+    	public ExpectCall(Object mock) {
+			super(mock);
+		}
+	{
+    	oneOf(mock()).doOtherStuff();
+    }}
+
+    @Checking(ExpectCall.class)
+    @Mock
+    private Collaborator collaborator;
+
+    @ClassUnderTest
+	private Collaborating collaborating;
+
+    @Before
+	public void setUp() throws Exception {
+    	collaborating = (Collaborating) context.getClassUnderTest();
+	}
+    
+    @Test
+    public void invocationOnCollaboratorIsIgnored() {
+    	collaborating.collaborateWithCollaborator();
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithIgnoring.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithIgnoring.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithIgnoring.java
new file mode 100644
index 0000000..3749e6e
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithIgnoring.java
@@ -0,0 +1,39 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ClassUnderTest;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Ignoring;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+
+public class JUnitRuleMockery2Test_mockAnnotatedWithIgnoring {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Ignoring
+    @Mock
+    private Collaborator collaborator;
+
+    @ClassUnderTest
+	private Collaborating collaborating;
+
+    @Before
+	public void setUp() throws Exception {
+    	collaborating = context.getClassUnderTest();
+	}
+    
+    @Test
+    public void invocationOnCollaboratorIsIgnored() {
+    	collaborating.collaborateWithCollaborator();
+    }
+
+    @Test
+    public void lackOfInvocationOnCollaboratorIsIgnored() {
+    	collaborating.dontCollaborateWithCollaborator();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_happyCase.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_happyCase.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_happyCase.java
new file mode 100644
index 0000000..3273f9e
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_happyCase.java
@@ -0,0 +1,34 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ClassUnderTest;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Never;
+
+public class JUnitRuleMockery2Test_mockAnnotatedWithNever_happyCase {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @Never
+    @Mock
+    private Collaborator collaborator;
+
+    @ClassUnderTest
+	private Collaborating collaborating;
+
+    @Before
+	public void setUp() throws Exception {
+    	collaborating = (Collaborating) context.getClassUnderTest();
+	}
+    
+    @Test
+    public void invocationOnCollaboratorIsIgnored() {
+    	collaborating.dontCollaborateWithCollaborator();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_sadCase.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_sadCase.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_sadCase.java
new file mode 100644
index 0000000..befa962
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithNever_sadCase.java
@@ -0,0 +1,40 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ClassUnderTest;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Never;
+
+public class JUnitRuleMockery2Test_mockAnnotatedWithNever_sadCase {
+
+    @Rule
+    public ExpectedException exp = ExpectedException.none();
+    
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @SuppressWarnings("unused")
+    @Never
+    @Mock
+    private Collaborator collaborator;
+
+    @ClassUnderTest
+	private Collaborating collaborating;
+
+    @Before
+	public void setUp() throws Exception {
+    	collaborating = context.getClassUnderTest();
+	}
+
+    @Test
+    public void invocationOnCollaboratorIsIgnored() {
+        exp.handleAssertionErrors().expect(AssertionError.class);
+        collaborating.collaborateWithCollaborator();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_happyCase.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_happyCase.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_happyCase.java
new file mode 100644
index 0000000..7b40787
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_happyCase.java
@@ -0,0 +1,35 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ClassUnderTest;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.One;
+
+public class JUnitRuleMockery2Test_mockAnnotatedWithOne_happyCase {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @One
+    @Mock
+    private Collaborator collaborator;
+
+    @ClassUnderTest
+	private Collaborating collaborating;
+
+    @Before
+	public void setUp() throws Exception {
+    	collaborating = (Collaborating) context.getClassUnderTest();
+	}
+    
+    @Test
+    public void invocationOnCollaboratorIsIgnored() {
+    	collaborating.collaborateWithCollaborator();
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_sadCase.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_sadCase.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_sadCase.java
new file mode 100644
index 0000000..55191d8
--- /dev/null
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/jmocking/JUnitRuleMockery2Test_mockAnnotatedWithOne_sadCase.java
@@ -0,0 +1,36 @@
+package org.apache.isis.core.unittestsupport.jmocking;
+
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.ClassUnderTest;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.One;
+
+public class JUnitRuleMockery2Test_mockAnnotatedWithOne_sadCase {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
+
+    @One
+    @Mock
+    private Collaborator collaborator;
+
+    @ClassUnderTest
+	private Collaborating collaborating;
+
+    @Before
+	public void setUp() throws Exception {
+    	collaborating = (Collaborating) context.getClassUnderTest();
+	}
+    
+    @Ignore("This isn't actually possible to test, because the test is actually thrown by the rule, which is further up the callstack than the test method")    @Test(expected=AssertionError.class)
+    public void invocationOnCollaboratorIsIgnored() {
+    	collaborating.dontCollaborateWithCollaborator();
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_BigIntegerTest.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_BigIntegerTest.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_BigIntegerTest.java
index 0d66e18..6904757 100644
--- a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_BigIntegerTest.java
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_BigIntegerTest.java
@@ -22,8 +22,6 @@ import java.math.BigInteger;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.isis.core.unittestsupport.value.ValueTypeContractTestAbstract;
-
 public class ValueTypeContractTestAbstract_BigIntegerTest extends ValueTypeContractTestAbstract<BigInteger> {
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_StringTest.java
----------------------------------------------------------------------
diff --git a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_StringTest.java b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_StringTest.java
index ebd531c..d29be31 100644
--- a/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_StringTest.java
+++ b/core/unittestsupport/src/test/java/org/apache/isis/core/unittestsupport/value/ValueTypeContractTestAbstract_StringTest.java
@@ -21,8 +21,6 @@ package org.apache.isis.core.unittestsupport.value;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.isis.core.unittestsupport.value.ValueTypeContractTestAbstract;
-
 public class ValueTypeContractTestAbstract_StringTest extends ValueTypeContractTestAbstract<String> {
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
index d3bd971..e22dd49 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/WebServerBootstrapper.java
@@ -32,6 +32,7 @@ import java.util.Map;
 
 import com.google.inject.Injector;
 
+import org.apache.log4j.Logger;
 import org.mortbay.jetty.Server;
 import org.mortbay.jetty.webapp.WebAppContext;
 
@@ -44,7 +45,6 @@ import org.apache.isis.core.runtime.runner.IsisBootstrapper;
 import org.apache.isis.core.runtime.runner.IsisRunner;
 import org.apache.isis.core.webapp.WebAppConstants;
 import org.apache.isis.core.webserver.WebServer.StartupMode;
-import org.apache.log4j.Logger;
 
 final class WebServerBootstrapper implements IsisBootstrapper {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java
----------------------------------------------------------------------
diff --git a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java
index ecf46a8..2150949 100644
--- a/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java
+++ b/core/webserver/src/main/java/org/apache/isis/core/webserver/internal/OptionHandlerStartupMode.java
@@ -28,8 +28,8 @@ import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
 import org.apache.isis.core.commons.lang.ArrayUtils;
 import org.apache.isis.core.runtime.optionhandler.BootPrinter;
 import org.apache.isis.core.runtime.optionhandler.OptionHandler;
-import org.apache.isis.core.webserver.WebServerConstants;
 import org.apache.isis.core.webserver.WebServer.StartupMode;
+import org.apache.isis.core.webserver.WebServerConstants;
 
 public final class OptionHandlerStartupMode implements OptionHandler {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/application/claims/viewer-dnd/src/test/java/org/apache/isis/example/claims/junit/AbstractTest.java
----------------------------------------------------------------------
diff --git a/example/application/claims/viewer-dnd/src/test/java/org/apache/isis/example/claims/junit/AbstractTest.java b/example/application/claims/viewer-dnd/src/test/java/org/apache/isis/example/claims/junit/AbstractTest.java
index 6a974fc..c5380b8 100644
--- a/example/application/claims/viewer-dnd/src/test/java/org/apache/isis/example/claims/junit/AbstractTest.java
+++ b/example/application/claims/viewer-dnd/src/test/java/org/apache/isis/example/claims/junit/AbstractTest.java
@@ -19,6 +19,10 @@
 
 package org.apache.isis.example.claims.junit;
 
+import org.junit.After;
+import org.junit.Before;
+import org.junit.runner.RunWith;
+
 import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.example.application.claims.dom.claim.ClaimRepository;
 import org.apache.isis.example.application.claims.dom.employee.Employee;
@@ -28,9 +32,6 @@ import org.apache.isis.progmodel.wrapper.applib.WrapperObject;
 import org.apache.isis.viewer.junit.IsisTestRunner;
 import org.apache.isis.viewer.junit.Service;
 import org.apache.isis.viewer.junit.Services;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.runner.RunWith;
 
 @RunWith(IsisTestRunner.class)
 @Services({ @Service(ClaimRepository.class), @Service(EmployeeRepository.class) })

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/application/quickstart_dnd_junit_bdd/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/quickstart_dnd_junit_bdd/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/quickstart_dnd_junit_bdd/dom/src/main/java/dom/todo/ToDoItem.java
index 0327a19..0acef77 100644
--- a/example/application/quickstart_dnd_junit_bdd/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/quickstart_dnd_junit_bdd/dom/src/main/java/dom/todo/ToDoItem.java
@@ -22,6 +22,8 @@ package dom.todo;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.joda.time.LocalDate;
+
 import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.annotation.AutoComplete;
 import org.apache.isis.applib.annotation.Disabled;
@@ -35,7 +37,6 @@ import org.apache.isis.applib.annotation.Resolve;
 import org.apache.isis.applib.annotation.Resolve.Type;
 import org.apache.isis.applib.annotation.Title;
 import org.apache.isis.applib.annotation.Where;
-import org.joda.time.LocalDate;
 
 @ObjectType("TODO")
 @AutoComplete(repository=ToDoItems.class, action="autoComplete")

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailService.java
----------------------------------------------------------------------
diff --git a/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailService.java b/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailService.java
index 851b677..b36ae2a 100644
--- a/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailService.java
+++ b/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailService.java
@@ -22,6 +22,7 @@ package org.apache.isis.example.domainservice.email;
 
 import org.apache.commons.mail.EmailException;
 import org.apache.commons.mail.SimpleEmail;
+
 import org.apache.isis.applib.AbstractFactoryAndRepository;
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailTemplate.java
----------------------------------------------------------------------
diff --git a/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailTemplate.java b/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailTemplate.java
index 0876aab..8cc599a 100644
--- a/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailTemplate.java
+++ b/example/domain-service/email-service/src/main/java/org/apache/isis/example/domainservice/email/EmailTemplate.java
@@ -25,6 +25,7 @@ import java.io.StringWriter;
 import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
+
 import org.apache.isis.applib.AbstractDomainObject;
 import org.apache.isis.applib.ApplicationException;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFacetHolderTest.java
----------------------------------------------------------------------
diff --git a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFacetHolderTest.java b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFacetHolderTest.java
index 64c0766..3dda47d 100644
--- a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFacetHolderTest.java
+++ b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFacetHolderTest.java
@@ -32,7 +32,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.example.metamodel.namefile.facets.NameFileFacet;
 
 @RunWith(JMock.class)
 public class NameFileFacetFacetHolderTest {

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryFeatureTypesTest.java
----------------------------------------------------------------------
diff --git a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryFeatureTypesTest.java b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryFeatureTypesTest.java
index 69f96a3..7ec7435 100644
--- a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryFeatureTypesTest.java
+++ b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryFeatureTypesTest.java
@@ -30,7 +30,6 @@ import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.example.metamodel.namefile.facets.NameFileFacetFactory;
 
 public class NameFileFacetFactoryFeatureTypesTest {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryInstantiationTest.java
----------------------------------------------------------------------
diff --git a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryInstantiationTest.java b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryInstantiationTest.java
index 2e58e2f..65cd13f 100644
--- a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryInstantiationTest.java
+++ b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryInstantiationTest.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.example.metamodel.namefile.facets;
 
-import org.apache.isis.example.metamodel.namefile.facets.NameFileFacetFactory;
 import org.junit.Test;
 
 public class NameFileFacetFactoryInstantiationTest {

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryProcessTest.java
----------------------------------------------------------------------
diff --git a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryProcessTest.java b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryProcessTest.java
index 33904b8..fff12fd 100644
--- a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryProcessTest.java
+++ b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetFactoryProcessTest.java
@@ -39,8 +39,6 @@ import org.apache.isis.core.metamodel.facetapi.MethodRemover;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.example.metamodel.namefile.facets.NameFileFacet;
-import org.apache.isis.example.metamodel.namefile.facets.NameFileFacetFactory;
 
 @RunWith(JMock.class)
 public class NameFileFacetFactoryProcessTest {

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetInstantiationTest.java
----------------------------------------------------------------------
diff --git a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetInstantiationTest.java b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetInstantiationTest.java
index 102fb99..0c65e31 100644
--- a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetInstantiationTest.java
+++ b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetInstantiationTest.java
@@ -24,7 +24,6 @@ import org.junit.Before;
 import org.junit.Test;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
-import org.apache.isis.example.metamodel.namefile.facets.NameFileFacet;
 
 public class NameFileFacetInstantiationTest {
 

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetValueTest.java
----------------------------------------------------------------------
diff --git a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetValueTest.java b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetValueTest.java
index 7acc1da..ae73a80 100644
--- a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetValueTest.java
+++ b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileFacetValueTest.java
@@ -32,7 +32,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.example.metamodel.namefile.facets.NameFileFacet;
 
 @RunWith(JMock.class)
 public class NameFileFacetValueTest {

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserInstantiationTest.java
----------------------------------------------------------------------
diff --git a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserInstantiationTest.java b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserInstantiationTest.java
index 569506e..2820fd2 100644
--- a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserInstantiationTest.java
+++ b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserInstantiationTest.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.example.metamodel.namefile.facets;
 
-import org.apache.isis.example.metamodel.namefile.facets.NameFileParser;
 import org.junit.Test;
 
 public class NameFileParserInstantiationTest {

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserParsingTest.java
----------------------------------------------------------------------
diff --git a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserParsingTest.java b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserParsingTest.java
index f703376..ec91657 100644
--- a/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserParsingTest.java
+++ b/example/misc/metamodel/namefile/src/test/java/org/apache/isis/example/metamodel/namefile/facets/NameFileParserParsingTest.java
@@ -22,7 +22,6 @@ package org.apache.isis.example.metamodel.namefile.facets;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
-import org.apache.isis.example.metamodel.namefile.facets.NameFileParser;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/ValidateMojo.java
----------------------------------------------------------------------
diff --git a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/ValidateMojo.java b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/ValidateMojo.java
index f5b9346..eeac504 100644
--- a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/ValidateMojo.java
+++ b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/ValidateMojo.java
@@ -26,16 +26,9 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.isis.core.metamodel.runtimecontext.noruntime.RuntimeContextNoRuntime;
-import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
-import org.apache.isis.core.progmodel.app.IsisMetaModel;
-import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
-import org.apache.isis.tool.mavenplugin.util.ClassRealms;
-import org.apache.isis.tool.mavenplugin.util.ClassWorlds;
-import org.apache.isis.tool.mavenplugin.util.IsisMetaModels;
-import org.apache.isis.tool.mavenplugin.util.Log4j;
-import org.apache.isis.tool.mavenplugin.util.MavenProjects;
-import org.apache.isis.tool.mavenplugin.util.Xpp3Doms;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
 import org.apache.maven.plugin.AbstractMojo;
@@ -51,8 +44,16 @@ import org.codehaus.classworlds.ClassWorld;
 import org.codehaus.classworlds.DuplicateRealmException;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
+import org.apache.isis.core.metamodel.runtimecontext.noruntime.RuntimeContextNoRuntime;
+import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
+import org.apache.isis.core.progmodel.app.IsisMetaModel;
+import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
+import org.apache.isis.tool.mavenplugin.util.ClassRealms;
+import org.apache.isis.tool.mavenplugin.util.ClassWorlds;
+import org.apache.isis.tool.mavenplugin.util.IsisMetaModels;
+import org.apache.isis.tool.mavenplugin.util.Log4j;
+import org.apache.isis.tool.mavenplugin.util.MavenProjects;
+import org.apache.isis.tool.mavenplugin.util.Xpp3Doms;
 
 /**
  * 

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassRealms.java
----------------------------------------------------------------------
diff --git a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassRealms.java b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassRealms.java
index cce28ac..a51c595 100644
--- a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassRealms.java
+++ b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassRealms.java
@@ -4,11 +4,8 @@ import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.List;
 
-import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.project.MavenProject;
 import org.codehaus.classworlds.ClassRealm;
 
 public final class ClassRealms {

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassWorlds.java
----------------------------------------------------------------------
diff --git a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassWorlds.java b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassWorlds.java
index 29b7347..2388df6 100644
--- a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassWorlds.java
+++ b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/ClassWorlds.java
@@ -1,15 +1,5 @@
 package org.apache.isis.tool.mavenplugin.util;
 
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.classworlds.ClassRealm;
 import org.codehaus.classworlds.ClassWorld;
 import org.codehaus.classworlds.NoSuchRealmException;
 

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/IsisMetaModels.java
----------------------------------------------------------------------
diff --git a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/IsisMetaModels.java b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/IsisMetaModels.java
index bf275b5..1f43ef3 100644
--- a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/IsisMetaModels.java
+++ b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/IsisMetaModels.java
@@ -1,18 +1,6 @@
 package org.apache.isis.tool.mavenplugin.util;
 
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.List;
-
 import org.apache.isis.core.progmodel.app.IsisMetaModel;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.classworlds.ClassRealm;
-import org.codehaus.classworlds.ClassWorld;
-import org.codehaus.classworlds.NoSuchRealmException;
 
 public final class IsisMetaModels {
     

http://git-wip-us.apache.org/repos/asf/isis/blob/77aa5687/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/Xpp3Doms.java
----------------------------------------------------------------------
diff --git a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/Xpp3Doms.java b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/Xpp3Doms.java
index 3ece3bb..dc26f29 100644
--- a/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/Xpp3Doms.java
+++ b/tool/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/util/Xpp3Doms.java
@@ -1,9 +1,9 @@
 package org.apache.isis.tool.mavenplugin.util;
 
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
 import com.google.common.base.Function;
 
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
 public final class Xpp3Doms {
     
     private Xpp3Doms(){}