You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2020/08/06 10:55:52 UTC

[cayenne] branch master updated: replacing Mockito "Answer" with "ArgumentCaptor"

This is an automated email from the ASF dual-hosted git repository.

aadamchik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 641a56c  replacing Mockito "Answer" with "ArgumentCaptor"
641a56c is described below

commit 641a56cc0e59a39be13589d4f6906a1aa0d593fc
Author: Andrus Adamchik <an...@objectstyle.com>
AuthorDate: Thu Aug 6 13:49:41 2020 +0300

    replacing Mockito "Answer" with "ArgumentCaptor"
---
 .../cayenne/commitlog/CommitLogFilterIT.java       | 234 ++++++++++++++++++
 .../cayenne/commitlog/CommitLogFilter_AllIT.java   | 275 ---------------------
 2 files changed, 234 insertions(+), 275 deletions(-)

diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilterIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilterIT.java
new file mode 100644
index 0000000..d7f41f8
--- /dev/null
+++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilterIT.java
@@ -0,0 +1,234 @@
+/*****************************************************************
+ *   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
+ *
+ *    https://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.cayenne.commitlog;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.ObjectId;
+import org.apache.cayenne.commitlog.db.Auditable1;
+import org.apache.cayenne.commitlog.db.AuditableChild1;
+import org.apache.cayenne.commitlog.model.*;
+import org.apache.cayenne.commitlog.unit.AuditableServerCase;
+import org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
+import org.apache.cayenne.query.SelectById;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+
+import java.sql.SQLException;
+
+import static org.junit.Assert.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.*;
+
+public class CommitLogFilterIT extends AuditableServerCase {
+
+    protected ObjectContext context;
+    protected CommitLogListener mockListener;
+
+    @Override
+    protected ServerRuntimeBuilder configureCayenne() {
+        this.mockListener = mock(CommitLogListener.class);
+        return super.configureCayenne().addModule(CommitLogModule.extend().addListener(mockListener).module());
+    }
+
+    @Before
+    public void before() {
+        context = runtime.newContext();
+    }
+
+    @Test
+    public void testPostCommit_Insert() {
+
+        Auditable1 a1 = context.newObject(Auditable1.class);
+        a1.setCharProperty1("yy");
+        ObjectId preCommitId = a1.getObjectId();
+
+        context.commitChanges();
+
+        ArgumentCaptor<ChangeMap> changeMap = ArgumentCaptor.forClass(ChangeMap.class);
+        verify(mockListener).onPostCommit(any(ObjectContext.class), changeMap.capture());
+
+        assertNotNull(changeMap.getValue());
+        assertEquals(2, changeMap.getValue().getChanges().size());
+        assertEquals(1, changeMap.getValue().getUniqueChanges().size());
+
+        ObjectChange c = changeMap.getValue().getUniqueChanges().iterator().next();
+        assertNotNull(c);
+        assertEquals(ObjectChangeType.INSERT, c.getType());
+        assertEquals(1, c.getAttributeChanges().size());
+        assertEquals("yy", c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getNewValue());
+
+        assertNotEquals(preCommitId, a1.getObjectId());
+        assertEquals(preCommitId, c.getPreCommitId());
+        assertEquals(a1.getObjectId(), c.getPostCommitId());
+    }
+
+    @Test
+    public void testPostCommit_Update() throws SQLException {
+
+        auditable1.insert(1, "xx");
+
+        Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context);
+        a1.setCharProperty1("yy");
+
+        ObjectId preCommitId = a1.getObjectId();
+
+        context.commitChanges();
+
+        ArgumentCaptor<ChangeMap> changeMap = ArgumentCaptor.forClass(ChangeMap.class);
+        verify(mockListener).onPostCommit(any(ObjectContext.class), changeMap.capture());
+
+        assertNotNull(changeMap.getValue());
+        assertEquals(1, changeMap.getValue().getUniqueChanges().size());
+
+        ObjectChange c = changeMap.getValue().getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1));
+        assertNotNull(c);
+        assertEquals(ObjectChangeType.UPDATE, c.getType());
+        assertEquals(1, c.getAttributeChanges().size());
+        AttributeChange pc = c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName());
+        assertNotNull(pc);
+        assertEquals("xx", pc.getOldValue());
+        assertEquals("yy", pc.getNewValue());
+
+        assertEquals(preCommitId, a1.getObjectId());
+        assertEquals(preCommitId, c.getPreCommitId());
+        assertEquals(preCommitId, c.getPostCommitId());
+    }
+
+    @Test
+    public void testPostCommit_Delete() throws SQLException {
+        auditable1.insert(1, "xx");
+
+        Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context);
+        context.deleteObject(a1);
+        context.commitChanges();
+
+        ArgumentCaptor<ChangeMap> changeMap = ArgumentCaptor.forClass(ChangeMap.class);
+        verify(mockListener).onPostCommit(any(ObjectContext.class), changeMap.capture());
+
+        assertNotNull(changeMap.getValue());
+        assertEquals(1, changeMap.getValue().getUniqueChanges().size());
+
+        ObjectChange c = changeMap.getValue().getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1));
+        assertNotNull(c);
+        assertEquals(ObjectChangeType.DELETE, c.getType());
+        assertEquals(1, c.getAttributeChanges().size());
+        assertEquals("xx", c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getOldValue());
+        assertNull(c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getNewValue());
+    }
+
+    @Test
+    public void testPostCommit_UpdateToOne() throws SQLException {
+        auditable1.insert(1, "xx");
+        auditable1.insert(2, "yy");
+
+        auditableChild1.insert(1, 1, "cc1");
+        auditableChild1.insert(2, 2, "cc2");
+        auditableChild1.insert(3, null, "cc3");
+
+        AuditableChild1 ac1 = SelectById.query(AuditableChild1.class, 1).selectOne(context);
+        AuditableChild1 ac2 = SelectById.query(AuditableChild1.class, 2).selectOne(context);
+        AuditableChild1 ac3 = SelectById.query(AuditableChild1.class, 3).selectOne(context);
+
+        Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context);
+        Auditable1 a2 = SelectById.query(Auditable1.class, 2).selectOne(context);
+
+        a1.removeFromChildren1(ac1);
+        a1.addToChildren1(ac2);
+        a1.addToChildren1(ac3);
+
+        context.commitChanges();
+
+        ArgumentCaptor<ChangeMap> changeMap = ArgumentCaptor.forClass(ChangeMap.class);
+        verify(mockListener).onPostCommit(any(ObjectContext.class), changeMap.capture());
+
+        assertNotNull(changeMap.getValue());
+        assertEquals(4, changeMap.getValue().getUniqueChanges().size());
+
+        ObjectChange ac1c = changeMap.getValue().getChanges().get(
+                ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 1));
+        assertNotNull(ac1c);
+        assertEquals(ObjectChangeType.UPDATE, ac1c.getType());
+        ToOneRelationshipChange ac1c1 = ac1c.getToOneRelationshipChanges().get(AuditableChild1.PARENT.getName());
+        assertEquals(a1.getObjectId(), ac1c1.getOldValue());
+        assertNull(ac1c1.getNewValue());
+
+        ObjectChange ac2c = changeMap.getValue().getChanges().get(
+                ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 2));
+        assertNotNull(ac2c);
+        assertEquals(ObjectChangeType.UPDATE, ac2c.getType());
+        ToOneRelationshipChange ac2c1 = ac2c.getToOneRelationshipChanges()
+                .get(AuditableChild1.PARENT.getName());
+        assertEquals(a2.getObjectId(), ac2c1.getOldValue());
+        assertEquals(a1.getObjectId(), ac2c1.getNewValue());
+
+        ObjectChange ac3c = changeMap.getValue().getChanges().get(
+                ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 3));
+        assertNotNull(ac3c);
+        assertEquals(ObjectChangeType.UPDATE, ac3c.getType());
+        ToOneRelationshipChange ac3c1 = ac3c.getToOneRelationshipChanges()
+                .get(AuditableChild1.PARENT.getName());
+        assertNull(ac3c1.getOldValue());
+        assertEquals(a1.getObjectId(), ac3c1.getNewValue());
+    }
+
+    @Test
+    public void testPostCommit_UpdateToMany() throws SQLException {
+        auditable1.insert(1, "xx");
+        auditableChild1.insert(1, 1, "cc1");
+        auditableChild1.insert(2, null, "cc2");
+        auditableChild1.insert(3, null, "cc3");
+
+        AuditableChild1 ac1 = SelectById.query(AuditableChild1.class, 1).selectOne(context);
+        AuditableChild1 ac2 = SelectById.query(AuditableChild1.class, 2).selectOne(context);
+        AuditableChild1 ac3 = SelectById.query(AuditableChild1.class, 3).selectOne(context);
+
+        Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context);
+
+        a1.removeFromChildren1(ac1);
+        a1.addToChildren1(ac2);
+        a1.addToChildren1(ac3);
+
+        context.commitChanges();
+
+        ArgumentCaptor<ChangeMap> changeMap = ArgumentCaptor.forClass(ChangeMap.class);
+        verify(mockListener).onPostCommit(any(ObjectContext.class), changeMap.capture());
+
+        assertNotNull(changeMap.getValue());
+        assertEquals(4, changeMap.getValue().getUniqueChanges().size());
+
+        ObjectChange a1c = changeMap.getValue().getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1));
+        assertNotNull(a1c);
+        assertEquals(ObjectChangeType.UPDATE, a1c.getType());
+        assertEquals(0, a1c.getAttributeChanges().size());
+
+        assertEquals(1, a1c.getToManyRelationshipChanges().size());
+
+        ToManyRelationshipChange a1c1 = a1c.getToManyRelationshipChanges().get(Auditable1.CHILDREN1.getName());
+        assertNotNull(a1c1);
+
+        assertEquals(2, a1c1.getAdded().size());
+        assertTrue(a1c1.getAdded().contains(ac2.getObjectId()));
+        assertTrue(a1c1.getAdded().contains(ac3.getObjectId()));
+
+        assertEquals(1, a1c1.getRemoved().size());
+        assertTrue(a1c1.getRemoved().contains(ac1.getObjectId()));
+
+    }
+}
diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_AllIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_AllIT.java
deleted file mode 100644
index 22b780a..0000000
--- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_AllIT.java
+++ /dev/null
@@ -1,275 +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
- *
- *    https://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.cayenne.commitlog;
-
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.ObjectId;
-import org.apache.cayenne.commitlog.db.Auditable1;
-import org.apache.cayenne.commitlog.db.AuditableChild1;
-import org.apache.cayenne.commitlog.model.AttributeChange;
-import org.apache.cayenne.commitlog.model.ChangeMap;
-import org.apache.cayenne.commitlog.model.ObjectChange;
-import org.apache.cayenne.commitlog.model.ObjectChangeType;
-import org.apache.cayenne.commitlog.model.ToManyRelationshipChange;
-import org.apache.cayenne.commitlog.model.ToOneRelationshipChange;
-import org.apache.cayenne.commitlog.unit.AuditableServerCase;
-import org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
-import org.apache.cayenne.query.SelectById;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
-import java.sql.SQLException;
-
-import static org.junit.Assert.*;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.*;
-
-public class CommitLogFilter_AllIT extends AuditableServerCase {
-
-	protected ObjectContext context;
-	protected CommitLogListener mockListener;
-
-	@Override
-	protected ServerRuntimeBuilder configureCayenne() {
-		this.mockListener = mock(CommitLogListener.class);
-		return super.configureCayenne().addModule(CommitLogModule.extend().addListener(mockListener).module());
-	}
-
-	@Before
-	public void before() {
-		context = runtime.newContext();
-	}
-
-	@Test
-	public void testPostCommit_Insert() {
-
-		Auditable1 a1 = context.newObject(Auditable1.class);
-		a1.setCharProperty1("yy");
-		ObjectId preCommitId = a1.getObjectId();
-
-		doAnswer((Answer<Object>) invocation -> {
-
-			assertSame(context, invocation.getArguments()[0]);
-
-			ChangeMap changes = (ChangeMap) invocation.getArguments()[1];
-			assertNotNull(changes);
-			assertEquals(2, changes.getChanges().size());
-			assertEquals(1, changes.getUniqueChanges().size());
-
-			ObjectChange c = changes.getUniqueChanges().iterator().next();
-			assertNotNull(c);
-			assertEquals(ObjectChangeType.INSERT, c.getType());
-			assertEquals(1, c.getAttributeChanges().size());
-			assertEquals("yy", c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getNewValue());
-
-			assertNotEquals(preCommitId, a1.getObjectId());
-			assertEquals(preCommitId, c.getPreCommitId());
-			assertEquals(a1.getObjectId(), c.getPostCommitId());
-
-			return null;
-		}).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-
-		context.commitChanges();
-
-		verify(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-	}
-
-	@Test
-	public void testPostCommit_Update() throws SQLException {
-
-		auditable1.insert(1, "xx");
-
-		final Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context);
-		a1.setCharProperty1("yy");
-
-		final ObjectId preCommitId = a1.getObjectId();
-
-		doAnswer((Answer<Object>) invocation -> {
-
-			assertSame(context, invocation.getArguments()[0]);
-
-			ChangeMap changes = (ChangeMap) invocation.getArguments()[1];
-			assertNotNull(changes);
-			assertEquals(1, changes.getUniqueChanges().size());
-
-			ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1));
-			assertNotNull(c);
-			assertEquals(ObjectChangeType.UPDATE, c.getType());
-			assertEquals(1, c.getAttributeChanges().size());
-			AttributeChange pc = c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName());
-			assertNotNull(pc);
-			assertEquals("xx", pc.getOldValue());
-			assertEquals("yy", pc.getNewValue());
-
-			assertEquals(preCommitId, a1.getObjectId());
-			assertEquals(preCommitId, c.getPreCommitId());
-			assertEquals(preCommitId, c.getPostCommitId());
-
-			return null;
-		}).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-
-		context.commitChanges();
-
-		verify(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-	}
-
-	@Test
-	public void testPostCommit_Delete() throws SQLException {
-		auditable1.insert(1, "xx");
-
-		doAnswer((Answer<Object>) invocation -> {
-
-			assertSame(context, invocation.getArguments()[0]);
-
-			ChangeMap changes = (ChangeMap) invocation.getArguments()[1];
-			assertNotNull(changes);
-			assertEquals(1, changes.getUniqueChanges().size());
-
-			ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1));
-			assertNotNull(c);
-			assertEquals(ObjectChangeType.DELETE, c.getType());
-			assertEquals(1, c.getAttributeChanges().size());
-			assertEquals("xx", c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getOldValue());
-			assertNull(c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getNewValue());
-
-			return null;
-		}).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-
-		Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context);
-		context.deleteObject(a1);
-		context.commitChanges();
-
-		verify(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-	}
-
-	@Test
-	public void testPostCommit_UpdateToOne() throws SQLException {
-		auditable1.insert(1, "xx");
-		auditable1.insert(2, "yy");
-
-		auditableChild1.insert(1, 1, "cc1");
-		auditableChild1.insert(2, 2, "cc2");
-		auditableChild1.insert(3, null, "cc3");
-
-		final AuditableChild1 ac1 = SelectById.query(AuditableChild1.class, 1).selectOne(context);
-		final AuditableChild1 ac2 = SelectById.query(AuditableChild1.class, 2).selectOne(context);
-		final AuditableChild1 ac3 = SelectById.query(AuditableChild1.class, 3).selectOne(context);
-
-		final Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context);
-		final Auditable1 a2 = SelectById.query(Auditable1.class, 2).selectOne(context);
-
-		doAnswer((Answer<Object>) invocation -> {
-
-			assertSame(context, invocation.getArguments()[0]);
-
-			ChangeMap changes = (ChangeMap) invocation.getArguments()[1];
-			assertNotNull(changes);
-			assertEquals(4, changes.getUniqueChanges().size());
-
-			ObjectChange ac1c = changes.getChanges().get(
-					ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 1));
-			assertNotNull(ac1c);
-			assertEquals(ObjectChangeType.UPDATE, ac1c.getType());
-			ToOneRelationshipChange ac1c1 = ac1c.getToOneRelationshipChanges()
-					.get(AuditableChild1.PARENT.getName());
-			assertEquals(a1.getObjectId(), ac1c1.getOldValue());
-assertNull(ac1c1.getNewValue());
-
-			ObjectChange ac2c = changes.getChanges().get(
-					ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 2));
-			assertNotNull(ac2c);
-			assertEquals(ObjectChangeType.UPDATE, ac2c.getType());
-			ToOneRelationshipChange ac2c1 = ac2c.getToOneRelationshipChanges()
-					.get(AuditableChild1.PARENT.getName());
-			assertEquals(a2.getObjectId(), ac2c1.getOldValue());
-			assertEquals(a1.getObjectId(), ac2c1.getNewValue());
-
-			ObjectChange ac3c = changes.getChanges().get(
-					ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 3));
-			assertNotNull(ac3c);
-			assertEquals(ObjectChangeType.UPDATE, ac3c.getType());
-			ToOneRelationshipChange ac3c1 = ac3c.getToOneRelationshipChanges()
-					.get(AuditableChild1.PARENT.getName());
-			assertNull(ac3c1.getOldValue());
-			assertEquals(a1.getObjectId(), ac3c1.getNewValue());
-
-			return null;
-		}).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-
-		a1.removeFromChildren1(ac1);
-		a1.addToChildren1(ac2);
-		a1.addToChildren1(ac3);
-
-		context.commitChanges();
-
-		verify(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-	}
-
-	@Test
-	public void testPostCommit_UpdateToMany() throws SQLException {
-		auditable1.insert(1, "xx");
-		auditableChild1.insert(1, 1, "cc1");
-		auditableChild1.insert(2, null, "cc2");
-		auditableChild1.insert(3, null, "cc3");
-
-		final AuditableChild1 ac1 = SelectById.query(AuditableChild1.class, 1).selectOne(context);
-		final AuditableChild1 ac2 = SelectById.query(AuditableChild1.class, 2).selectOne(context);
-		final AuditableChild1 ac3 = SelectById.query(AuditableChild1.class, 3).selectOne(context);
-
-		final Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context);
-
-		doAnswer((Answer<Object>) invocation -> {
-
-			assertSame(context, invocation.getArguments()[0]);
-
-			ChangeMap changes = (ChangeMap) invocation.getArguments()[1];
-			assertNotNull(changes);
-			assertEquals(4, changes.getUniqueChanges().size());
-
-			ObjectChange a1c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1));
-			assertNotNull(a1c);
-			assertEquals(ObjectChangeType.UPDATE, a1c.getType());
-			assertEquals(0, a1c.getAttributeChanges().size());
-
-			assertEquals(1, a1c.getToManyRelationshipChanges().size());
-
-			ToManyRelationshipChange a1c1 = a1c.getToManyRelationshipChanges().get(Auditable1.CHILDREN1.getName());
-			assertNotNull(a1c1);
-
-			assertEquals(2, a1c1.getAdded().size());
-			assertTrue(a1c1.getAdded().contains(ac2.getObjectId()));
-			assertTrue(a1c1.getAdded().contains(ac3.getObjectId()));
-
-			assertEquals(1, a1c1.getRemoved().size());
-			assertTrue(a1c1.getRemoved().contains(ac1.getObjectId()));
-
-			return null;
-		}).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-
-		a1.removeFromChildren1(ac1);
-		a1.addToChildren1(ac2);
-		a1.addToChildren1(ac3);
-
-		context.commitChanges();
-
-		verify(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class));
-	}
-}