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 2012/12/13 08:30:03 UTC

[6/58] ISIS-188: renaming packages, now builds ok (not yet tested)

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_StartTransactionTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_StartTransactionTest.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_StartTransactionTest.java
deleted file mode 100644
index 2ff1142..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/ObjectStoreTransactionManager_StartTransactionTest.java
+++ /dev/null
@@ -1,89 +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.runtimes.dflt.runtime.persistence.objectstore.transaction;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.CoreMatchers.sameInstance;
-import static org.junit.Assert.assertThat;
-
-import org.jmock.Expectations;
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
-import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
-
-public class ObjectStoreTransactionManager_StartTransactionTest extends ObjectStoreTransactionManagerAbstractTestCase {
-
-    @Before
-    public void setUpTransactionManager() throws Exception {
-        transactionManager = new IsisTransactionManager(mockPersistenceSession, mockObjectStore);
-    }
-
-    @Before
-    public void setUpExpectations() throws Exception {
-        ignoreCallsToPersistenceSession();
-    }
-
-    @Test
-    public void startTransactionCreateTransactionIfNone() throws Exception {
-        ignoreCallsToObjectStore();
-
-        assertThat(transactionManager.getTransaction(), is(nullValue()));
-        transactionManager.startTransaction();
-        assertThat(transactionManager.getTransaction(), is(not(nullValue())));
-    }
-
-    @Test
-    public void startTransactionDoesNotOverwriteTransactionIfHasOne() throws Exception {
-        ignoreCallsToObjectStore();
-
-        // cause a transaction to be created
-        transactionManager.startTransaction();
-        final IsisTransaction transactionAfterFirstStart = transactionManager.getTransaction();
-
-        transactionManager.startTransaction();
-
-        assertThat(transactionManager.getTransaction(), is(sameInstance(transactionAfterFirstStart)));
-    }
-
-    @Test
-    public void startTransactionIncrementsTransactionLevel() throws Exception {
-        ignoreCallsToObjectStore();
-
-        assertThat(transactionManager.getTransactionLevel(), is(0));
-        transactionManager.startTransaction();
-        assertThat(transactionManager.getTransactionLevel(), is(1));
-    }
-
-    @Test
-    public void startTransactionCallsStartTransactionOnObjectStore() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(mockObjectStore).startTransaction();
-            }
-        });
-
-        transactionManager.startTransaction();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/PojoAdapterBuilder.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/PojoAdapterBuilder.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/PojoAdapterBuilder.java
deleted file mode 100644
index bfc833e..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/PojoAdapterBuilder.java
+++ /dev/null
@@ -1,251 +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.runtimes.dflt.runtime.persistence.objectstore.transaction;
-
-import java.util.Iterator;
-
-import com.google.common.base.Splitter;
-
-import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.ResolveState;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.adapter.oid.AggregatedOid;
-import org.apache.isis.core.metamodel.adapter.oid.CollectionOid;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.adapter.oid.RootOidDefault;
-import org.apache.isis.core.metamodel.adapter.version.Version;
-import org.apache.isis.core.metamodel.spec.ObjectSpecId;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
-import org.apache.isis.core.runtime.persistence.adapter.PojoAdapter;
-
-public class PojoAdapterBuilder {
-
-    private PojoAdapterBuilder(){
-    }
-    
-    private Object pojo = new Object();
-
-    // override; else will delegate to SpecificationLoader
-    private ObjectSpecification objectSpec;
-    
-    private SpecificationLoader specificationLoader;
-    
-    private AdapterManager objectAdapterLookup;
-    
-    private ObjectSpecId objectSpecId = ObjectSpecId.of("CUS");
-    private String identifier = "1";
-    // only used if type is AGGREGATED
-    private String aggregatedId = "firstName";
-    
-    private Type type = Type.ROOT;
-    private Persistence persistence = Persistence.PERSISTENT;
-
-    private String titleString;
-
-    private Version version;
-
-    private Localization localization;
-
-    private AuthenticationSession authenticationSession;
-
-    
-    public static enum Persistence {
-        TRANSIENT {
-            @Override
-            RootOid createOid(ObjectSpecId objectSpecId, String identifier) {
-                return RootOidDefault.createTransient(objectSpecId, identifier);
-            }
-
-            @Override
-            void changeStateOn(PojoAdapter pojoAdapter) {
-                pojoAdapter.changeState(ResolveState.TRANSIENT);
-            }
-        },
-        PERSISTENT {
-            @Override
-            RootOid createOid(ObjectSpecId objectSpecId, String identifier) {
-                return RootOidDefault.create(objectSpecId, identifier);
-            }
-
-            @Override
-            void changeStateOn(PojoAdapter pojoAdapter) {
-                pojoAdapter.changeState(ResolveState.TRANSIENT);
-                pojoAdapter.changeState(ResolveState.RESOLVED);
-            }
-        }, 
-        VALUE {
-            @Override
-            RootOid createOid(ObjectSpecId objectSpecId, String identifier) {
-                return null;
-            }
-
-            @Override
-            void changeStateOn(PojoAdapter pojoAdapter) {
-                pojoAdapter.changeState(ResolveState.VALUE);
-            }
-        };
-        abstract RootOid createOid(ObjectSpecId objectSpecId, String identifier);
-
-        abstract void changeStateOn(PojoAdapter pojoAdapter);
-    }
-
-    public static enum Type {
-        ROOT {
-            @Override
-            Oid oidFor(RootOid rootOid, ObjectSpecId objectSpecId, String unused) {
-                return rootOid;
-            }
-        }, AGGREGATED {
-            @Override
-            Oid oidFor(RootOid rootOid, ObjectSpecId objectSpecId, String aggregateLocalId) {
-                return new AggregatedOid(objectSpecId, rootOid, aggregateLocalId);
-            }
-        }, COLLECTION {
-            @Override
-            Oid oidFor(RootOid rootOid, ObjectSpecId objectSpecId, String collectionId) {
-                return new CollectionOid(rootOid, collectionId);
-            }
-        }, VALUE {
-            @Override
-            Oid oidFor(RootOid rootOid, ObjectSpecId objectSpecId, String unused) {
-                return null;
-            }
-        };
-
-        abstract Oid oidFor(RootOid rootOid, ObjectSpecId objectSpecId, String supplementalId);
-    }
-
-    public static PojoAdapterBuilder create() {
-        return new PojoAdapterBuilder();
-    }
-
-    public PojoAdapterBuilder withAggregatedId(String aggregatedId) {
-        this.aggregatedId = aggregatedId;
-        return this;
-    }
-    
-    public PojoAdapterBuilder withIdentifier(String identifier) {
-        this.identifier = identifier;
-        return this;
-    }
-    
-    public PojoAdapterBuilder withObjectType(String objectType) {
-        this.objectSpecId = ObjectSpecId.of(objectType);
-        return this;
-    }
-    
-    public PojoAdapterBuilder withPojo(Object pojo) {
-        this.pojo = pojo;
-        return this;
-    }
-
-    public PojoAdapterBuilder withOid(String oidAndTitle) {
-        final Iterator<String> iterator = Splitter.on("|").split(oidAndTitle).iterator();
-        if(!iterator.hasNext()) { return this; }
-        withObjectType(iterator.next());
-        if(!iterator.hasNext()) { return this; }
-        withIdentifier(iterator.next());
-        if(!iterator.hasNext()) { return this; }
-        withTitleString(iterator.next());
-        return this;
-    }
-    
-    /**
-     * A Persistence of VALUE implies a Type of VALUE also
-     */
-    public PojoAdapterBuilder with(Persistence persistence) {
-        this.persistence = persistence;
-        if(persistence == Persistence.VALUE) {
-            this.type = Type.VALUE;
-        }
-        return this;
-    }
-    
-    /**
-     * A Type of VALUE implies a Persistence of VALUE also.
-     */
-    public PojoAdapterBuilder with(Type type) {
-        this.type = type;
-        if(type == Type.VALUE) {
-            this.persistence = Persistence.VALUE;
-        }
-        return this;
-    }
-    
-    public PojoAdapterBuilder with(ObjectSpecification objectSpec) {
-        this.objectSpec = objectSpec;
-        return this;
-    }
-
-    public PojoAdapterBuilder with(AdapterManager objectAdapterLookup) {
-        this.objectAdapterLookup = objectAdapterLookup;
-        return this;
-    }
-    
-    public PojoAdapterBuilder with(SpecificationLoader specificationLoader) {
-        this.specificationLoader = specificationLoader;
-        return this;
-    }
-    
-    public PojoAdapterBuilder with(AuthenticationSession authenticationSession) {
-        this.authenticationSession = authenticationSession;
-        return this;
-    }
-    
-    public PojoAdapterBuilder with(Localization localization) {
-        this.localization = localization;
-        return this;
-    }
-
-    public PojoAdapterBuilder with(Version version) {
-        this.version = version;
-        return this;
-    }
-
-    public PojoAdapterBuilder withTitleString(String titleString) {
-        this.titleString = titleString;
-        return this;
-    }
-
-    public PojoAdapter build() {
-        final RootOid rootOid = persistence.createOid(objectSpecId, identifier);
-        final Oid oid = type.oidFor(rootOid, objectSpecId, aggregatedId);
-        final PojoAdapter pojoAdapter = new PojoAdapter(pojo, oid, specificationLoader, objectAdapterLookup, localization, authenticationSession) {
-            @Override
-            public ObjectSpecification getSpecification() { return objectSpec != null? objectSpec: super.getSpecification(); }
-            @Override
-            public String titleString() {
-                return titleString != null? titleString: super.titleString();
-            }
-        };
-        persistence.changeStateOn(pojoAdapter);
-        if(persistence == Persistence.PERSISTENT && version != null) {
-            pojoAdapter.setVersion(version);
-        }
-        return pojoAdapter;
-    }
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/TransactionTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/TransactionTest.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/TransactionTest.java
deleted file mode 100644
index 5ad01bb..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/persistence/objectstore/transaction/TransactionTest.java
+++ /dev/null
@@ -1,323 +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.runtimes.dflt.runtime.persistence.objectstore.transaction;
-
-import java.util.Collections;
-
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.hamcrest.CoreMatchers;
-import org.jmock.Expectations;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.core.commons.matchers.IsisMatchers;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.runtime.persistence.ObjectPersistenceException;
-import org.apache.isis.core.runtime.persistence.objectstore.ObjectStoreSpi;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.CreateObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.DestroyObjectCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommand;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.PersistenceCommandContext;
-import org.apache.isis.core.runtime.persistence.objectstore.transaction.SaveObjectCommand;
-import org.apache.isis.core.runtime.system.transaction.IsisTransaction;
-import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
-import org.apache.isis.core.runtime.system.transaction.MessageBroker;
-import org.apache.isis.core.runtime.system.transaction.UpdateNotifier;
-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;
-import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PojoAdapterBuilder.Persistence;
-
-public class TransactionTest {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-    
-    private IsisTransaction transaction;
-
-    private ObjectAdapter transientAdapter1;
-    private ObjectAdapter transientAdapter2;
-
-    private ObjectAdapter persistentAdapter1;
-    private ObjectAdapter persistentAdapter2;
-
-    @Mock
-    private ObjectStoreSpi mockObjectStore;
-
-    @Mock
-    private IsisTransactionManager mockTransactionManager;
-    @Mock
-    private MessageBroker mockMessageBroker;
-    @Mock
-    private UpdateNotifier mockUpdateNotifier;
-
-    private PersistenceCommand command;
-    private PersistenceCommand command2;
-    private PersistenceCommand command3;
-
-    private CreateObjectCommand createCreateCommand(final ObjectAdapter object, final String name) {
-        return new CreateObjectCommand() {
-
-            @Override
-            public void execute(final PersistenceCommandContext context) throws ObjectPersistenceException {
-            }
-
-            @Override
-            public ObjectAdapter onAdapter() {
-                return object;
-            }
-
-            @Override
-            public String toString() {
-                return name;
-            }
-        };
-    }
-
-    private DestroyObjectCommand createDestroyCommand(final ObjectAdapter object, final String name) {
-        return new DestroyObjectCommand() {
-
-            @Override
-            public void execute(final PersistenceCommandContext context) throws ObjectPersistenceException {
-            }
-
-            @Override
-            public ObjectAdapter onAdapter() {
-                return object;
-            }
-
-            @Override
-            public String toString() {
-                return name;
-            }
-        };
-    }
-
-    private SaveObjectCommand createSaveCommand(final ObjectAdapter object, final String name) {
-        return new SaveObjectCommand() {
-            @Override
-            public void execute(final PersistenceCommandContext context) throws ObjectPersistenceException {
-            }
-
-            @Override
-            public ObjectAdapter onAdapter() {
-                return object;
-            }
-
-            @Override
-            public String toString() {
-                return name;
-            }
-        };
-    }
-
-    private SaveObjectCommand createSaveCommandThatAborts(final ObjectAdapter object, final String name) {
-        return new SaveObjectCommand() {
-            @Override
-            public void execute(final PersistenceCommandContext context) throws ObjectPersistenceException {
-                throw new ObjectPersistenceException();
-            }
-
-            @Override
-            public ObjectAdapter onAdapter() {
-                return object;
-            }
-
-            @Override
-            public String toString() {
-                return name;
-            }
-        };
-    }
-
-    @Before
-    public void setUp() throws Exception {
-        Logger.getRootLogger().setLevel(Level.OFF);
-
-        transaction = new IsisTransaction(mockTransactionManager, mockMessageBroker, mockUpdateNotifier, mockObjectStore);
-        
-        transientAdapter1 = PojoAdapterBuilder.create().with(Persistence.TRANSIENT).withIdentifier("1").build();
-        transientAdapter2 = PojoAdapterBuilder.create().with(Persistence.TRANSIENT).withIdentifier("2").build();
-        persistentAdapter1 = PojoAdapterBuilder.create().with(Persistence.PERSISTENT).withIdentifier("3").build();
-        persistentAdapter2 = PojoAdapterBuilder.create().with(Persistence.PERSISTENT).withIdentifier("4").build();
-    }
-    
-    @Test
-    public void abort_neverDelegatesToObjectStore() throws Exception {
-
-        command = createSaveCommand(transientAdapter1, "command 1");
-        command2 = createSaveCommand(transientAdapter2, "command 2");
-
-        context.checking(new Expectations() {
-            {
-                never(mockObjectStore);
-            }
-        });
-
-        transaction.addCommand(command);
-        transaction.addCommand(command2);
-        transaction.abort();
-    }
-
-
-    @Test
-    public void commit_delegatesToObjectStoreToExecutesAllCommands() throws Exception {
-
-        command = createSaveCommand(transientAdapter1, "command 1");
-        command2 = createSaveCommandThatAborts(transientAdapter2, "command 2");
-
-        context.checking(new Expectations() {
-            {
-                one(mockObjectStore).execute(with(IsisMatchers.listContainingAll(command, command2)));
-            }
-        });
-        
-        transaction.addCommand(command);
-        transaction.addCommand(command2);
-        transaction.commit();
-    }
-
-    @Test
-    public void commit_disregardsSecondSaveCommandOnSameAdapter() throws Exception {
-
-        command = createSaveCommand(persistentAdapter1, "command 1");
-        command2 = createSaveCommand(persistentAdapter1, "command 2");
-
-        context.checking(new Expectations() {
-            {
-                one(mockObjectStore).execute(with(IsisMatchers.listContainingAll(command)));
-            }
-        });
-        
-        transaction.addCommand(command);
-        transaction.addCommand(command2);
-        transaction.commit();
-    }
-
-
-    @Test
-    public void commit_disregardsSaveCommandsForObjectBeingCreated() throws Exception {
-
-        command = createCreateCommand(transientAdapter1, "command 1");
-        command2 = createSaveCommandThatAborts(transientAdapter1, "command 2");
-
-        context.checking(new Expectations() {
-            {
-                one(mockObjectStore).execute(with(IsisMatchers.listContainingAll(command)));
-            }
-        });
-        
-        transaction.addCommand(command);
-        transaction.addCommand(command2);
-        transaction.commit();
-    }
-
-    @Test
-    public void commit_destroyCausesPrecedingSaveCommandsToBeDisregarded() throws Exception {
-
-        command = createSaveCommand(persistentAdapter1, "command 1");
-        command2 = createSaveCommand(persistentAdapter2, "command 2");
-        command3 = createDestroyCommand(persistentAdapter1, "command 3");
-
-        context.checking(new Expectations() {
-            {
-                one(mockObjectStore).execute(with(IsisMatchers.listContainingAll(command2, command3)));
-            }
-        });
-        
-        transaction.addCommand(command);
-        transaction.addCommand(command2);
-        transaction.addCommand(command3);
-        transaction.commit();
-    }
-
-    @Test
-    public void commit_ignoresBothCreateAndDestroyCommandsWhenForSameObject() throws Exception {
-
-        command = createSaveCommand(persistentAdapter1, "command 1");
-        command2 = createSaveCommand(persistentAdapter2, "command 2");
-        command3 = createDestroyCommand(persistentAdapter1, "command 3");
-
-        context.checking(new Expectations() {
-            {
-                one(mockObjectStore).execute(with(IsisMatchers.listContainingAll(command2)));
-            }
-        });
-        
-        transaction.addCommand(command);
-        transaction.addCommand(command2);
-        transaction.addCommand(command3);
-        transaction.commit();
-    }
-
-
-    @Test
-    public void commit_testNoCommands() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(mockObjectStore).execute(with(Collections.<PersistenceCommand>emptyList()));
-            }
-        });
-
-        transaction.commit();
-    }
-
-
-    @Test(expected = IllegalStateException.class)
-    public void shouldThrowExceptionIfAttemptToAbortAnAlreadyAbortedTransaction() throws Exception {
-        transaction.abort();
-
-        transaction.abort();
-    }
-
-    @Test(expected = IllegalStateException.class)
-    public void shouldThrowExceptionIfAttemptToCommitAnAlreadyAbortedTransaction() throws Exception {
-        transaction.abort();
-
-        transaction.commit();
-    }
-
-    @Test(expected = IllegalStateException.class)
-    public void shouldThrowExceptionIfAttemptToAbortAnAlreadyCommitedTransaction() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(mockObjectStore).execute(with(Collections.<PersistenceCommand>emptyList()));
-            }
-        });
-
-        transaction.commit();
-
-        transaction.abort();
-    }
-
-    @Test(expected = IllegalStateException.class)
-    public void shouldThrowExceptionIfAttemptToCommitAnAlreadyCommitedTransaction() throws Exception {
-        context.checking(new Expectations() {
-            {
-                one(mockObjectStore).execute(with(Collections.<PersistenceCommand>emptyList()));
-            }
-        });
-        transaction.commit();
-
-        transaction.commit();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/profiler/ProfilerTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/profiler/ProfilerTest.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/profiler/ProfilerTest.java
deleted file mode 100644
index 2bb3c4b..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/profiler/ProfilerTest.java
+++ /dev/null
@@ -1,111 +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.runtimes.dflt.runtime.profiler;
-
-import junit.framework.TestCase;
-
-import org.apache.isis.core.runtime.profiler.Profiler;
-
-public class ProfilerTest extends TestCase {
-    public static void main(final String[] args) {
-        junit.textui.TestRunner.run(ProfilerTest.class);
-    }
-
-    private Profiler profiler;
-
-    @Override
-    public void setUp() {
-        Profiler.setProfilerSystem(new ProfilerTestSystem());
-        profiler = new Profiler("name");
-    }
-
-    public void testFreeMemory() {
-        assertEquals("20,300 bytes", Profiler.memoryLog());
-    }
-
-    public void testMemoryUsage() {
-        assertEquals(10300, profiler.getMemoryUsage());
-        assertEquals(20000, profiler.getMemoryUsage());
-    }
-
-    public void testMemoryUsageLog() {
-        assertEquals("10,300 bytes", profiler.memoryUsageLog());
-    }
-
-    public void testTiming() {
-        profiler.start();
-        profiler.stop();
-        assertEquals(100, profiler.getElapsedTime());
-    }
-
-    public void testTimingLog() {
-        profiler.start();
-        profiler.stop();
-        assertEquals("0.1 secs", profiler.timeLog());
-    }
-
-    public void testContinueWithStartAndStopPausesTiming() {
-        profiler.start();
-        profiler.stop();
-
-        profiler.start();
-        profiler.stop();
-        assertEquals(400, profiler.getElapsedTime());
-    }
-
-    public void testResetDuringTiming() {
-        profiler.start();
-
-        profiler.reset();
-        assertEquals(200, profiler.getElapsedTime());
-    }
-
-    public void testResetAfterStopResetsToZero() {
-        profiler.start();
-        profiler.stop();
-
-        profiler.reset();
-        assertEquals(0, profiler.getElapsedTime());
-
-        profiler.start();
-        profiler.stop();
-        assertEquals(400, profiler.getElapsedTime());
-    }
-
-    public void testZero() {
-        assertEquals(0, profiler.getElapsedTime());
-    }
-
-    public void testRepeatedElapseTimeAfterStopGivesSameTime() {
-        profiler.start();
-        profiler.stop();
-        assertEquals(100, profiler.getElapsedTime());
-        assertEquals(100, profiler.getElapsedTime());
-        assertEquals(100, profiler.getElapsedTime());
-    }
-
-    public void testRepeatedElapseTimeGivesLatestTime() {
-        profiler.start();
-        assertEquals(100, profiler.getElapsedTime());
-        assertEquals(300, profiler.getElapsedTime());
-        assertEquals(600, profiler.getElapsedTime());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/profiler/ProfilerTestSystem.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/profiler/ProfilerTestSystem.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/profiler/ProfilerTestSystem.java
deleted file mode 100644
index e5a6013..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/profiler/ProfilerTestSystem.java
+++ /dev/null
@@ -1,39 +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.runtimes.dflt.runtime.profiler;
-
-import org.apache.isis.core.runtime.profiler.ProfilerSystem;
-
-public class ProfilerTestSystem extends ProfilerSystem {
-    long[] memory = new long[] { 10000, 20300, 30000 };
-    int memoryIndex = 0;
-    long[] time = new long[] { 1000, 1100, 1300, 1600, 2000 };
-    int timeIndex = 0;
-
-    @Override
-    protected long memory() {
-        return memory[memoryIndex++];
-    }
-
-    @Override
-    protected long time() {
-        return time[timeIndex++];
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/Interface1.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/Interface1.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/Interface1.java
deleted file mode 100644
index 12ba4d3..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/Interface1.java
+++ /dev/null
@@ -1,24 +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.runtimes.dflt.runtime.system;
-
-public interface Interface1 {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaActionTestObject.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaActionTestObject.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaActionTestObject.java
deleted file mode 100644
index 6ee406d..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaActionTestObject.java
+++ /dev/null
@@ -1,55 +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.runtimes.dflt.runtime.system;
-
-public class JavaActionTestObject {
-    private boolean actionCalled = false;
-
-    public void actionMethod() {
-        actionCalled = true;
-    }
-
-    public static String nameMethod() {
-        return "about for test";
-    }
-
-    public boolean invisibleMethod() {
-        return true;
-    }
-
-    public String validMethod() {
-        return "invalid";
-    }
-
-    public void actionWithParam(final String str) {
-    }
-
-    public static boolean[] mandatoryMethod(final String str) {
-        return new boolean[] { true };
-    }
-
-    public static String[] labelMethod(final String str) {
-        return new String[] { "label" };
-    }
-
-    public boolean actionCalled() {
-        return actionCalled;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectMarkedAsTransient.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectMarkedAsTransient.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectMarkedAsTransient.java
deleted file mode 100644
index 76a396d..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectMarkedAsTransient.java
+++ /dev/null
@@ -1,26 +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.runtimes.dflt.runtime.system;
-
-import org.apache.isis.applib.marker.NonPersistable;
-
-public class JavaObjectMarkedAsTransient implements NonPersistable {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectWithBasicProgramConventions.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectWithBasicProgramConventions.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectWithBasicProgramConventions.java
deleted file mode 100644
index 8b5aa21..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectWithBasicProgramConventions.java
+++ /dev/null
@@ -1,272 +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.runtimes.dflt.runtime.system;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Assert;
-
-import org.apache.isis.applib.security.UserMemento;
-
-public class JavaObjectWithBasicProgramConventions implements Interface1, Interface2 {
-    public static String classActionValid;
-    public String objectActionValid;
-    private final List<Object> collection = new ArrayList<Object>();
-
-    public static String pluralName() {
-        return "Plural";
-    }
-
-    public static String singularName() {
-        return "Singular";
-    }
-
-    public static String getFour() {
-        return "";
-    }
-
-    public static void setFour(final String value) {
-    }
-
-    public String getOne() {
-        return "";
-    }
-
-    public String defaultOne() {
-        return "default value";
-    }
-
-    public String[] choicesOne() {
-        return new String[] { "four", "five", "six" };
-    }
-
-    public void setOne(final String value) {
-    }
-
-    public static boolean optionalOne() {
-        return true;
-
-    }
-
-    public static String disableOne(final UserMemento user) {
-        return "no edits";
-    }
-
-    public boolean hideFieldTwo() {
-        return true;
-    }
-
-    private JavaReferencedObject object;
-
-    public JavaReferencedObject getFieldTwo() {
-        return object;
-    }
-
-    public void setFieldTwo(final JavaReferencedObject object) {
-        this.object = object;
-    }
-
-    // field two should be hidden for the user
-    public static boolean hideFieldTwo(final UserMemento user) {
-        Assert.assertEquals("unit tester", user.getName());
-        return true;
-    }
-
-    // this field should not be persisted as it has no setter
-    public JavaReferencedObject getThree() {
-        return null;
-    }
-
-    public static boolean alwaysHideSix() {
-        return true;
-    }
-
-    public String[] choicesSix() {
-        return new String[] { "one", "two" };
-    }
-
-    public String getSix() {
-        return "";
-    }
-
-    public void setSix(final String value) {
-    }
-
-    public String disableSeven() {
-        return "no changes";
-    }
-
-    public String getSeven() {
-        return "";
-    }
-
-    public void setSeven(final String value) {
-    }
-
-    public static boolean protectEight() {
-        return true;
-    }
-
-    public String getEight() {
-        return "";
-    }
-
-    public void setEight(final String value) {
-    }
-
-    public void setValue(final String value) {
-    }
-
-    public static String nameStop() {
-        return "object action name";
-    }
-
-    public static String descriptionStop() {
-        return "object action description";
-    }
-
-    public String validateStart(final String param) {
-        return objectActionValid;
-    }
-
-    public void stop() {
-    }
-
-    public static boolean[] optionalStart() {
-        return new boolean[] { true };
-    }
-
-    public String[] defaultStart() {
-        return new String[] { "default param" };
-    }
-
-    public String[][] choicesStart() {
-        return new String[][] { { "one", "two", "three" } };
-    }
-
-    public void start2(final String name) {
-    }
-
-    public Object[] choicesStart2() {
-        return new Object[] { new String[] { "three", "two", "one" } };
-    }
-
-    public static String validateTop() {
-        return classActionValid;
-    }
-
-    public static String[] namesStart() {
-        return new String[] { "parameter name" };
-    }
-
-    public int start(final String param) {
-        return 1;
-    }
-
-    public static String nameTop() {
-        return "class action name";
-    }
-
-    public static String descriptionTop() {
-        return "class action description";
-    }
-
-    public static void top() {
-    }
-
-    public static void bottom(final String param) {
-    }
-
-    public static String actionOrder() {
-        // make sure there is an action which doesn't exist
-        return "missing, start, stop";
-    }
-
-    public static String classActionOrder() {
-        return "top, bottom";
-    }
-
-    public static String fieldOrder() {
-        return "one, field two ,three, five";
-    }
-
-    // tests the hide method with same set of paramaters
-    public static boolean alwaysHideHiddenAction(final String param) {
-        return true;
-    }
-
-    public void hiddenAction(final String param) {
-    }
-
-    // tests the hide method with no paramaters
-    public static boolean alwaysHideHiddenAction2() {
-        return true;
-    }
-
-    public void hiddenAction2(final String param1, final String param2) {
-    }
-
-    public static boolean hideHiddenToUser(final UserMemento user) {
-        Assert.assertEquals("unit tester", user.getName());
-        return true;
-    }
-
-    public void hiddenToUser() {
-    }
-
-    public List<Object> getFive() {
-        return collection;
-    }
-
-    public void addToFive(final JavaReferencedObject person) {
-    }
-
-    public void removeFromFive(final JavaReferencedObject person) {
-    }
-
-    public static String nameFive() {
-        return "five";
-    }
-
-    public List getNine() {
-        return collection;
-    }
-
-    // method that would be run on client
-    public void localRunOnClient() {
-    }
-
-    // method that would be run on the server
-    public void remoteRunOnServer() {
-    }
-
-    // method for debug access
-    public String debugTwo(final String parameter) {
-        return "action two";
-    }
-
-    // exploration method
-    public void explorationSetUp() {
-    }
-}
-
-interface Interface2 {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectWithOneToOneAssociations.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectWithOneToOneAssociations.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectWithOneToOneAssociations.java
deleted file mode 100644
index 9a229a0..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaObjectWithOneToOneAssociations.java
+++ /dev/null
@@ -1,47 +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.runtimes.dflt.runtime.system;
-
-public class JavaObjectWithOneToOneAssociations {
-    boolean available = false;
-    private JavaReferencedObject object;
-    boolean valid = false;
-    boolean visible = false;
-
-    public String availableReferencedObject(final JavaReferencedObject object) {
-        return available ? null : "not available";
-    }
-
-    public JavaReferencedObject getReferencedObject() {
-        return object;
-    }
-
-    public void setReferencedObject(final JavaReferencedObject object) {
-        this.object = object;
-    }
-
-    public String validReferencedObject(final JavaReferencedObject object) {
-        return valid ? null : "not valid";
-    }
-
-    public boolean hideReferencedObject(final JavaReferencedObject object) {
-        return !visible;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaReferencedObject.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaReferencedObject.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaReferencedObject.java
deleted file mode 100644
index 6c638be..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/JavaReferencedObject.java
+++ /dev/null
@@ -1,35 +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.runtimes.dflt.runtime.system;
-
-public class JavaReferencedObject {
-    private static int next;
-    private final int id = next++;
-
-    public JavaReferencedObject() {
-        super();
-    }
-
-    @Override
-    public String toString() {
-        return "JavaReferencedObject#" + id;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/MethodFinderUtilsTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/MethodFinderUtilsTest.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/MethodFinderUtilsTest.java
deleted file mode 100644
index 54a8482..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/MethodFinderUtilsTest.java
+++ /dev/null
@@ -1,84 +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.runtimes.dflt.runtime.system;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import org.apache.isis.core.commons.lang.MethodUtils;
-import org.apache.isis.core.metamodel.methodutils.MethodFinderUtils;
-import org.apache.isis.core.metamodel.methodutils.MethodScope;
-
-@RunWith(Parameterized.class)
-public class MethodFinderUtilsTest {
-
-    private static Method staticMethod;
-    private static Method instanceMethod;
-
-    static {
-        staticMethod = MethodUtils.findMethodElseNull(MethodFinderUtilsTest.class, "someStaticMethod");
-        instanceMethod = MethodUtils.findMethodElseNull(MethodFinderUtilsTest.class, "someInstanceMethod");
-    }
-
-    private final MethodScope methodScope;
-    private final Method method;
-    private final boolean result;
-
-    @Before
-    public void setUp() {
-        assertThat(staticMethod, is(not(nullValue())));
-        assertThat(instanceMethod, is(not(nullValue())));
-    }
-
-    @Parameters
-    public static Collection parameters() {
-        return Arrays.asList(new Object[][] { { MethodScope.OBJECT, staticMethod, false }, { MethodScope.CLASS, staticMethod, true }, { MethodScope.OBJECT, instanceMethod, true }, { MethodScope.CLASS, instanceMethod, false }, });
-    }
-
-    public static void someStaticMethod() {
-    }
-
-    public void someInstanceMethod() {
-    }
-
-    public MethodFinderUtilsTest(final MethodScope methodScope, final Method method, final boolean result) {
-        this.methodScope = methodScope;
-        this.method = method;
-        this.result = result;
-    }
-
-    @Test
-    public void all() {
-        assertThat(MethodFinderUtils.inScope(methodScope, method), is(result));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectActionImplTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectActionImplTest.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectActionImplTest.java
deleted file mode 100644
index b7aa368..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectActionImplTest.java
+++ /dev/null
@@ -1,160 +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.runtimes.dflt.runtime.system;
-
-import static org.junit.Assert.assertEquals;
-
-import org.jmock.Expectations;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.metamodel.adapter.QuerySubmitter;
-import org.apache.isis.core.metamodel.adapter.ServicesProvider;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.named.NamedFacetAbstract;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberContext;
-import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
-import org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl;
-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 ObjectActionImplTest {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-    
-    
-    private ObjectActionImpl action;
-    
-    @Mock
-    private FacetedMethod mockFacetedMethod;
-
-    @Mock
-    private AuthenticationSessionProvider mockAuthenticationSessionProvider;
-    @Mock
-    private SpecificationLoader mockSpecificationLookup;
-    @Mock
-    private AdapterManager mockAdapterManager;
-    @Mock
-    private ServicesProvider mockServicesProvider;
-    @Mock
-    private QuerySubmitter mockQuerySubmitter;
-    @Mock
-    private CollectionTypeRegistry mockCollectionTypeRegistry;
-
-//    protected TestProxySystem system;
-//
-//    private TestProxyConfiguration mockConfiguration;
-//    private TestProxyReflector mockReflector;
-//    private AuthenticationSession mockAuthSession;
-//    private TestProxyPersistenceSessionFactory mockPersistenceSessionFactory;
-//    private TestProxyPersistenceSession mockPersistenceSession;
-//    private TestUserProfileStore mockUserProfileStore;
-
-    @Before
-    public void setUp() throws Exception {
-//        Logger.getRootLogger().setLevel(Level.OFF);
-//        
-//        system = new TestProxySystem();
-//        
-//        mockConfiguration = new TestProxyConfiguration();
-//        mockReflector = new TestProxyReflector();
-//        mockAuthSession = new TestProxySession();
-//        mockPersistenceSessionFactory = new TestProxyPersistenceSessionFactory();
-//        mockPersistenceSession = new TestProxyPersistenceSession(mockPersistenceSessionFactory);
-//        mockPersistenceSessionFactory.setPersistenceSessionToCreate(mockPersistenceSession);
-//        mockUserProfileStore = new TestUserProfileStore();
-//        
-//        system.openSession(mockConfiguration, mockReflector, mockAuthSession, null, null, null, mockUserProfileStore, null, mockPersistenceSessionFactory, null);
-
-        context.checking(new Expectations() {
-            {
-                one(mockFacetedMethod).getIdentifier();
-                will(returnValue(Identifier.actionIdentifier("Customer", "reduceheadcount")));
-            }
-        });
-
-        action = new ObjectActionImpl(mockFacetedMethod, new ObjectMemberContext(DeploymentCategory.PRODUCTION, mockAuthenticationSessionProvider, mockSpecificationLookup, mockAdapterManager, mockQuerySubmitter, mockCollectionTypeRegistry), mockServicesProvider);
-    }
-
-    @Ignore // DKH
-    @Test
-    public void testExecutePassedOnToPeer() {
-//        final TestProxyAdapter target = new TestProxyAdapter();
-//        target.setupSpecification(new TestSpecification());
-//        final ObjectAdapter[] parameters = new ObjectAdapter[2];
-//
-//        final TestProxyAdapter result = new TestProxyAdapter();
-//        final ActionInvocationFacet facet = new ActionInvocationFacetAbstract(mockFacetedMethod) {
-//            @Override
-//            public ObjectAdapter invoke(final ObjectAdapter target, final ObjectAdapter[] parameters) {
-//                return result;
-//            }
-//
-//            @Override
-//            public ObjectSpecification getReturnType() {
-//                return null;
-//            }
-//
-//            @Override
-//            public ObjectSpecification getOnType() {
-//                return new TestSpecification();
-//            }
-//        };
-//
-//        context.checking(new Expectations() {
-//            {
-//                exactly(2).of(mockFacetedMethod).getFacet(ActionInvocationFacet.class);
-//                will(returnValue(facet));
-//            }
-//        });
-//
-//        final ObjectAdapter returnObject = action.execute(target, parameters);
-//        assertEquals(returnObject, result);
-    }
-
-    @Test
-    public void testNameDefaultsToActionsMethodName() {
-        final NamedFacet facet = new NamedFacetAbstract("Reduceheadcount", mockFacetedMethod) {
-        };
-        context.checking(new Expectations() {
-            {
-                one(mockFacetedMethod).getFacet(NamedFacet.class);
-                will(returnValue(facet));
-            }
-        });
-        assertEquals("Reduceheadcount", action.getName());
-    }
-
-    @Test
-    public void testId() {
-        assertEquals("reduceheadcount", action.getId());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectMemberAbstractTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectMemberAbstractTest.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectMemberAbstractTest.java
deleted file mode 100644
index 7ab3e9f..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/ObjectMemberAbstractTest.java
+++ /dev/null
@@ -1,246 +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.runtimes.dflt.runtime.system;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.annotation.When;
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.InteractionInvocationMethod;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.describedas.DescribedAsFacetAbstract;
-import org.apache.isis.core.metamodel.facets.named.NamedFacetAbstract;
-import org.apache.isis.core.metamodel.interactions.PropertyUsabilityContext;
-import org.apache.isis.core.metamodel.interactions.PropertyVisibilityContext;
-import org.apache.isis.core.metamodel.interactions.UsabilityContext;
-import org.apache.isis.core.metamodel.interactions.VisibilityContext;
-import org.apache.isis.core.metamodel.spec.Instance;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberContext;
-import org.apache.isis.core.metamodel.specloader.specimpl.ObjectMemberAbstract;
-import org.apache.isis.core.progmodel.facets.members.disabled.DisableForSessionFacetAbstract;
-import org.apache.isis.core.progmodel.facets.members.hidden.HiddenFacetAbstract;
-import org.apache.isis.core.progmodel.facets.members.hidden.HiddenFacetImpl;
-import org.apache.isis.core.progmodel.facets.members.hidden.HiddenFacetNever;
-import org.apache.isis.core.progmodel.facets.members.hidden.HideForContextFacetNone;
-import org.apache.isis.core.progmodel.facets.members.hidden.HideForSessionFacetAbstract;
-import org.apache.isis.core.progmodel.facets.members.hidden.staticmethod.HiddenFacetAlwaysEverywhere;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PojoAdapterBuilder;
-import org.apache.isis.runtimes.dflt.runtime.persistence.objectstore.transaction.PojoAdapterBuilder.Persistence;
-
-public class ObjectMemberAbstractTest {
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-    
-    private ObjectMemberAbstractImpl testMember;
-    
-    private ObjectAdapter persistentAdapter;
-    private ObjectAdapter transientAdapter;
-    
-    @Before
-    public void setUp() throws Exception {
-        Logger.getRootLogger().setLevel(Level.OFF);
-
-        persistentAdapter = PojoAdapterBuilder.create().build();
-        transientAdapter = PojoAdapterBuilder.create().with(Persistence.TRANSIENT).build();
-
-        testMember = new ObjectMemberAbstractImpl("id");
-    }
-
-
-    @Test
-    public void testToString() throws Exception {
-        testMember.addFacet(new NamedFacetAbstract("", testMember) {});
-        assertTrue(testMember.toString().length() > 0);
-    }
-
-    @Test
-    public void testAvailableForUser() throws Exception {
-        testMember.addFacet(new DisableForSessionFacetAbstract(testMember) {
-            @Override
-            public String disabledReason(final AuthenticationSession session) {
-                return null;
-            }
-        });
-        final Consent usable = testMember.isUsable(null, persistentAdapter, Where.ANYWHERE);
-        final boolean allowed = usable.isAllowed();
-        assertTrue(allowed);
-    }
-
-    @Test
-    public void testVisibleWhenHiddenFacetSetToAlways() {
-        testMember.addFacet(new HideForContextFacetNone(testMember));
-        testMember.addFacet(new HiddenFacetAbstract(When.ALWAYS, Where.ANYWHERE, testMember) {
-            @Override
-            public String hiddenReason(final ObjectAdapter target, final Where whereContext) {
-                return null;
-            }
-        });
-        final Consent visible = testMember.isVisible(null, persistentAdapter, Where.ANYWHERE);
-        assertTrue(visible.isAllowed());
-    }
-
-    @Test
-    public void testVisibleWhenTargetPersistentAndHiddenFacetSetToOncePersisted() {
-        testMember.addFacet(new HideForContextFacetNone(testMember));
-        testMember.addFacet(new HiddenFacetImpl(When.ONCE_PERSISTED, Where.ANYWHERE, testMember));
-        assertFalse(testMember.isVisible(null, persistentAdapter, Where.ANYWHERE).isAllowed());
-    }
-
-    @Test
-    public void testVisibleWhenTargetPersistentAndHiddenFacetSetToUntilPersisted() {
-        testMember.addFacet(new HideForContextFacetNone(testMember));
-        testMember.addFacet(new HiddenFacetImpl(When.UNTIL_PERSISTED, Where.ANYWHERE, testMember));
-        final Consent visible = testMember.isVisible(null, persistentAdapter, Where.ANYWHERE);
-        assertTrue(visible.isAllowed());
-    }
-
-    @Test
-    public void testVisibleWhenTargetTransientAndHiddenFacetSetToUntilPersisted() {
-        testMember.addFacet(new HideForContextFacetNone(testMember));
-        testMember.addFacet(new HiddenFacetImpl(When.UNTIL_PERSISTED, Where.ANYWHERE, testMember));
-        
-        final Consent visible = testMember.isVisible(null, transientAdapter, Where.ANYWHERE);
-        assertFalse(visible.isAllowed());
-    }
-
-    @Test
-    public void testVisibleDeclarativelyByDefault() {
-        testMember.addFacet(new HiddenFacetNever(testMember) {
-        });
-        assertTrue(testMember.isVisible(null, persistentAdapter, Where.ANYWHERE).isAllowed());
-    }
-
-    @Test
-    public void testVisibleDeclaratively() {
-        testMember.addFacet(new HiddenFacetAlwaysEverywhere(testMember) {
-        });
-        assertFalse(testMember.isVisible(null, persistentAdapter, Where.ANYWHERE).isAllowed());
-    }
-
-    @Test
-    public void testVisibleForSessionByDefault() {
-        final Consent visible = testMember.isVisible(null, persistentAdapter, Where.ANYWHERE);
-        assertTrue(visible.isAllowed());
-    }
-
-    @Test
-    public void testVisibleForSession() {
-        testMember.addFacet(new HideForSessionFacetAbstract(testMember) {
-            @Override
-            public String hiddenReason(final AuthenticationSession session) {
-                return "Hidden";
-            }
-        });
-        assertFalse(testMember.isVisible(null, persistentAdapter, Where.ANYWHERE).isAllowed());
-    }
-
-    @Test
-    public void testVisibleForSessionFails() {
-        testMember.addFacet(new HideForSessionFacetAbstract(testMember) {
-            @Override
-            public String hiddenReason(final AuthenticationSession session) {
-                return "hidden";
-            }
-        });
-        assertFalse(testMember.isVisible(null, persistentAdapter, Where.ANYWHERE).isAllowed());
-    }
-
-    @Test
-    public void testName() throws Exception {
-        final String name = "action name";
-        testMember.addFacet(new NamedFacetAbstract(name, testMember) {
-        });
-        assertEquals(name, testMember.getName());
-    }
-
-    @Test
-    public void testDescription() throws Exception {
-        final String name = "description text";
-        testMember.addFacet(new DescribedAsFacetAbstract(name, testMember) {
-        });
-        assertEquals(name, testMember.getDescription());
-    }
-}
-
-class ObjectMemberAbstractImpl extends ObjectMemberAbstract {
-
-    public static class Customer {
-        private String firstName;
-
-        public String getFirstName() {
-            return firstName;
-        }
-    }
-
-    protected ObjectMemberAbstractImpl(final String id) {
-        super(FacetedMethod.createForProperty(Customer.class, "firstName"), FeatureType.PROPERTY, new ObjectMemberContext(DeploymentCategory.PRODUCTION, null, null, null, null, null));
-    }
-
-    @Override
-    public String debugData() {
-        return null;
-    }
-
-    public Consent isUsable(final ObjectAdapter target) {
-        return null;
-    }
-
-    @Override
-    public ObjectSpecification getSpecification() {
-        return null;
-    }
-
-    @Override
-    public UsabilityContext<?> createUsableInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter target, Where where) {
-        return new PropertyUsabilityContext(DeploymentCategory.PRODUCTION, session, invocationMethod, target, getIdentifier(), where);
-    }
-
-    @Override
-    public VisibilityContext<?> createVisibleInteractionContext(final AuthenticationSession session, final InteractionInvocationMethod invocationMethod, final ObjectAdapter targetObjectAdapter, Where where) {
-        return new PropertyVisibilityContext(DeploymentCategory.PRODUCTION, session, invocationMethod, targetObjectAdapter, getIdentifier(), where);
-    }
-
-    // /////////////////////////////////////////////////////////////
-    // getInstance
-    // /////////////////////////////////////////////////////////////
-
-    @Override
-    public Instance getInstance(final ObjectAdapter adapter) {
-        return null;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/OneToManyAssociationImplTest.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/OneToManyAssociationImplTest.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/OneToManyAssociationImplTest.java
deleted file mode 100644
index ab0f879..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/OneToManyAssociationImplTest.java
+++ /dev/null
@@ -1,183 +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.runtimes.dflt.runtime.system;
-
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
-
-import org.jmock.Expectations;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.QuerySubmitter;
-import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
-import org.apache.isis.core.metamodel.facets.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.notpersisted.NotPersistedFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.spec.feature.ObjectMemberContext;
-import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
-import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
-import org.apache.isis.core.metamodel.specloader.specimpl.OneToManyAssociationImpl;
-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 OneToManyAssociationImplTest {
-
-    private static final String COLLECTION_ID = "orders";
-
-    public static class Customer {
-    }
-
-    public static class Order {
-    }
-
-    private static final Class<?> COLLECTION_TYPE = Order.class;
-
-    @Rule
-    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
-
-    @Mock
-    private ObjectAdapter mockOwnerAdapter;
-    @Mock
-    private ObjectAdapter mockAssociatedAdapter;
-    @Mock
-    private AuthenticationSessionProvider mockAuthenticationSessionProvider;
-    @Mock
-    private SpecificationLoader mockSpecificationLookup;
-    @Mock
-    private AdapterManager mockAdapterManager;
-    @Mock
-    private QuerySubmitter mockQuerySubmitter;
-    @Mock
-    private FacetedMethod mockPeer;
-    @Mock
-    private NamedFacet mockNamedFacet;
-    @Mock
-    private CollectionAddToFacet mockCollectionAddToFacet;
-    @Mock
-    private CollectionTypeRegistry mockCollectionTypeRegistry;
-    
-    private OneToManyAssociation association;
-
-    @Before
-    public void setUp() {
-        allowingPeerToReturnCollectionType();
-        allowingPeerToReturnIdentifier();
-        allowingSpecLoaderToReturnSpecs();
-        association = new OneToManyAssociationImpl(mockPeer, new ObjectMemberContext(DeploymentCategory.PRODUCTION, mockAuthenticationSessionProvider, mockSpecificationLookup, mockAdapterManager, mockQuerySubmitter, mockCollectionTypeRegistry));
-    }
-
-    private void allowingSpecLoaderToReturnSpecs() {
-        context.checking(new Expectations() {
-            {
-                allowing(mockSpecificationLookup).loadSpecification(Order.class);
-            }
-        });
-    }
-
-    @Test
-    public void id() {
-        assertThat(association.getId(), is(equalTo(COLLECTION_ID)));
-    }
-
-    @Test
-    public void name() {
-        expectPeerToReturnNamedFacet();
-        assertThat(association.getName(), is(equalTo("My name")));
-    }
-
-    @Test
-    public void delegatesToUnderlying() {
-        final ObjectSpecification spec = association.getSpecification();
-    }
-
-    @Test
-    public void canAddPersistable() {
-        context.checking(new Expectations() {
-            {
-                one(mockPeer).containsFacet(NotPersistedFacet.class);
-                will(returnValue(false));
-
-                one(mockOwnerAdapter).representsPersistent();
-                will(returnValue(true));
-
-                one(mockAssociatedAdapter).isTransient();
-                will(returnValue(false));
-
-                one(mockPeer).getFacet(CollectionAddToFacet.class);
-                will(returnValue(mockCollectionAddToFacet));
-
-                one(mockCollectionAddToFacet).add(mockOwnerAdapter, mockAssociatedAdapter);
-            }
-        });
-        association.addElement(mockOwnerAdapter, mockAssociatedAdapter);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void cannotRemoveNull() {
-        association.removeElement(mockOwnerAdapter, null);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void cannotAddNull() {
-        association.addElement(mockOwnerAdapter, null);
-    }
-
-    private void allowingPeerToReturnCollectionType() {
-        context.checking(new Expectations() {
-            {
-                allowing(mockPeer).getType();
-                will(returnValue(COLLECTION_TYPE));
-            }
-        });
-    }
-
-    private void allowingPeerToReturnIdentifier() {
-        context.checking(new Expectations() {
-            {
-                one(mockPeer).getIdentifier();
-                will(returnValue(Identifier.propertyOrCollectionIdentifier(Customer.class, COLLECTION_ID)));
-            }
-        });
-    }
-
-    private void expectPeerToReturnNamedFacet() {
-        context.checking(new Expectations() {
-            {
-                one(mockPeer).getFacet(NamedFacet.class);
-                will(returnValue(mockNamedFacet));
-
-                one(mockNamedFacet).value();
-                will(returnValue("My name"));
-            }
-        });
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/RuntimeTestPojo.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/RuntimeTestPojo.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/RuntimeTestPojo.java
deleted file mode 100644
index b08eea4..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/RuntimeTestPojo.java
+++ /dev/null
@@ -1,51 +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.runtimes.dflt.runtime.system;
-
-public class RuntimeTestPojo {
-    private static int nextId;
-    private final int id = nextId++;
-    private final String state = "pojo" + id;
-
-    @Override
-    public String toString() {
-        return "Pojo#" + id;
-    }
-
-    @Override
-    public boolean equals(final Object other) {
-        if (other == null) {
-            return false;
-        }
-        if (other == this) {
-            return true;
-        }
-        if (other.getClass() == getClass()) {
-            final RuntimeTestPojo otherTestPojo = (RuntimeTestPojo) other;
-            return otherTestPojo.state.equals(state);
-        }
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        return state.hashCode();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestDomainObject.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestDomainObject.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestDomainObject.java
deleted file mode 100644
index 586d10a..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestDomainObject.java
+++ /dev/null
@@ -1,24 +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.runtimes.dflt.runtime.system;
-
-public class TestDomainObject {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObject.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObject.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObject.java
deleted file mode 100644
index faf87d2..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObject.java
+++ /dev/null
@@ -1,23 +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.runtimes.dflt.runtime.system;
-
-public class TestObject {
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObjectAsAggregated.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObjectAsAggregated.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObjectAsAggregated.java
deleted file mode 100644
index c02b5bd..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObjectAsAggregated.java
+++ /dev/null
@@ -1,29 +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.runtimes.dflt.runtime.system;
-
-// import org.apache.isis.applib.Aggregated;
-
-public class TestObjectAsAggregated { // implements Aggregated {
-
-    public Object getAggregate() {
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/978f79af/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObjectAsService.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObjectAsService.java b/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObjectAsService.java
deleted file mode 100644
index 7113601..0000000
--- a/core/runtime/src/test/java/org/apache/isis/runtimes/dflt/runtime/system/TestObjectAsService.java
+++ /dev/null
@@ -1,37 +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.runtimes.dflt.runtime.system;
-
-public class TestObjectAsService {
-
-    public String getId() {
-        return null;
-    }
-
-    public void init() {
-    }
-
-    public void action() {
-    }
-
-    public String title() {
-        return null;
-    }
-}