summaryrefslogtreecommitdiffstats
path: root/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/DataObject/DataObjectConsistencyBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/DataObject/DataObjectConsistencyBase.java')
-rw-r--r--java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/DataObject/DataObjectConsistencyBase.java739
1 files changed, 0 insertions, 739 deletions
diff --git a/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/DataObject/DataObjectConsistencyBase.java b/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/DataObject/DataObjectConsistencyBase.java
deleted file mode 100644
index 0654a7dc99..0000000000
--- a/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/api/DataObject/DataObjectConsistencyBase.java
+++ /dev/null
@@ -1,739 +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.
- *
- * $Rev$ $Date$
- */
-package test.sdo21.tests.api.DataObject;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.junit.Test;
-
-import test.sdo21.tests.TestData.StandardFactory;
-import test.sdo21.tests.api.CTSConsistencyBase;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-
-/**
- * Tests for proper updates to DataObject and their value changes due to the
- * updates.
- */
-public abstract class DataObjectConsistencyBase extends CTSConsistencyBase {
-
-
- /**
- * testActiveUpdatingList verifies that updates made to a List returned from
- * a DataObject are reflected in the DataObject and vice versa.
- * @throws Exception
- */
- @Test
- public void testActiveUpdatingList() throws Exception {
- DataObject root = factory.createTestData(getScope(), StandardFactory.API_TYPE);
- DataObject child1 = factory.createTestData(getScope(), StandardFactory.API_TYPE);
- DataObject child2 = factory.createTestData(getScope(), StandardFactory.API_TYPE);
- DataObject child3 = factory.createTestData(getScope(), StandardFactory.API_TYPE);
-
- List addList = new ArrayList();
- List returnedList;
-
- addList.add(child1);
-
- root.setList("containMany", addList);
-
- // Verify the pre-condition. The List initially has a size of 1.
- assertEquals("The List returned by getList was not of the expected size.", 1, root.getList("containMany").size());
-
- returnedList = root.getList("containMany");
-
- /**
- * Add a member to the returned List and verify that it is reflected in
- * the DataObject.
- */
-
- returnedList.add(child2);
-
- assertEquals("Update to returned List did not affect DataObject correctly. Size of children is not 2",
- 2, root.getList("containMany").size());
- assertEquals("Update to returned List did not affect DataObject correctly. child1's container is not equal to root",
- root, child1.getContainer());
- assertEquals("Update to returned List did not affect DataObject correctly. child2's container is not equal to root",
- root, child2.getContainer());
-
- /**
- * Delete a child and verify that the returned List is automatically
- * affected.
- */
-
- child1.delete();
- assertEquals("Deleting a DataObject did not affect the returned List.", 1, returnedList.size());
-
- /**
- * Verify that the DataObject delete did not affect the original List
- * used in the DataObject.setList().
- */
-
- assertEquals("Deleting a DataObject should not affect a List unassociated with the DataObject.",
- 1,
- addList.size());
-
- /**
- * Call DataObject.setList() and verify that the previously returned
- * List reflects the new List.
- */
-
- addList.add(child2);
- addList.add(child3);
- root.setList("containMany", addList);
-
- assertEquals("The List returned by DataObject.getList() was not affected by a subsequent DataObject.setList().",
- 3,
- returnedList.size());
- /**
- * Call List.remove() on the returned List and verify that the
- * DataObject is affected.
- */
-
- DataObject child = (DataObject)returnedList.get(1);
-
- // Verify the precondition. The child should have root as its container.
- assertEquals("List.setList() did not cause the expected containment relationship.", root, child.getContainer());
-
- returnedList.remove(1);
-
- assertEquals("List.remove() did not have the expected effect on the DataObject. There are more than 2 children",
- 2, root.getList("containMany").size());
- assertNull("List.remove() did not have the expected effect on the DataObject. child container is not null",
- child.getContainer());
-
- /**
- * Call List.clear() and veirfy that the DataObject is affected.
- */
- returnedList.clear();
-
- assertEquals("List.clear() on the returned List did not have the expected effect on the DataObject. The size of the list of children is not 0",
- 0,root.getList("containMany").size());
- assertNull("List.clear() on the returned List did not have the expected effect on the DataObject. child1.getContainer is not null",
- child1.getContainer());
- assertNull("List.clear() on the returned List did not have the expected effect on the DataObject. child2.getContainer is not null",
- child2.getContainer());
-
- }
-
- /**
- * testActiveUpdatingSequence verifies that updates made to a Sequence
- * returned from a DataObject are reflected in the DataObject and vice
- * versa.
- * @throws Exception
- */
- @Test
- public void testActiveUpdatingSequence() throws Exception {
-
- DataObject sequenceDO = factory.createTestData(getScope(), StandardFactory.SEQ_TYPE);
- Sequence sequence = sequenceDO.getSequence();
- List letterList = sequenceDO.getList("Letters");
- List numberList = sequenceDO.getList("Numbers");
-
- assertTrue("The Type of sequencedElem is not sequenced. testActiveUpdatingSequence may not proceed",
- sequenceDO.getType().isSequenced());
-
- letterList.clear();
- numberList.clear();
-
- // Verify the precondition. The Sequence should be empty.
- assertEquals("The Sequence should initially be empty.", 0, sequence.size());
-
- /**
- * Add values to the DataObject and verify that the Sequence is
- * affected.
- */
-
- letterList.add("A");
- letterList.add("B");
- numberList.add(Integer.valueOf(8));
-
- // The expected arrangement of sequence is as follows
- // {<Letters, "A">, <Letters, "B">, <Numbers, 8>}
-
- assertEquals("Adding values to the DataObject did not affect the returned Sequence. Sequence size is not 3",
- 3, sequence.size());
- assertEquals("Adding values to the DataObject did not affect the returned Sequence. getValue[0] is not A",
- "A", sequence.getValue(0));
- assertEquals("Adding values to the DataObject did not affect the returned Sequence. getValue[1] is not B",
- "B", sequence.getValue(1)
- );
- assertEquals("Adding values to the DataObject did not affect the returned Sequence. getValue[2] is not equal to 8",
- sequence.getValue(2),
- Integer.valueOf(8));
-
- /**
- * Remove a value from the DataObject and verify that the Sequence is
- * affected.
- */
-
- letterList.remove(1);
-
- // The expected arrangement of sequence is as follows: {<Letters, "A">,
- // <Numbers, 8>}
- assertEquals("Removing a value from the DataObject did not affect the returned Sequence.", sequence.size(), 2);
- assertEquals("Removing a value from the DataObject did not affect the returned Sequence.",
- "A", sequence.getValue(0)
- );
- assertEquals("Removing a value from the DataObject did not affect the returned Sequence.",
- Integer.valueOf(8),
- sequence.getValue(1));
-
- /**
- * Remove a value from the Sequence and verify that the DataObject is
- * affected.
- */
-
- sequence.remove(1);
-
- // The expected arrangement of sequence is as follows: {<Letters, "A">}
-
- assertEquals("Removing a value from the Sequence did not affect the DataObject. Size of List for numbers is not 0",
- 0, sequenceDO.getList("Numbers").size());
-
- /**
- * Add a value to the Sequence and verify that the DataObject is
- * affected.
- */
- sequence.add("Numbers", Integer.valueOf(16));
-
- // The expected arrangement of sequence is as follows: {<Letters, "A">,
- // <Numbers, 16>}
-
- assertEquals("Adding a value to the Sequence did not have the expected effect on the DataObject.", sequenceDO
- .getList("Numbers").size(), 1);
- assertEquals("Adding a value to the Sequence did not have the expected effect on the DataObject.", sequenceDO
- .getList("Numbers").get(0), Integer.valueOf(16));
-
- // Add several values to the Sequence (via the DataObject) to make
- // Sequence.move() meaningful.
-
- letterList.add("C");
- numberList.add(Integer.valueOf(15));
- numberList.add(Integer.valueOf(4));
- letterList.add("K");
- letterList.add("M");
- numberList.add(Integer.valueOf(-10));
-
- // The expected arrangement of sequence is as follows
- // {<Letters, "A">, <Numbers, 16>, <Letters, "C">, <Numbers, 15>,
- // <Numbers, 4>, <Letters, "K">, <Letters, "M">, <Numbers, -10>}
-
- /**
- * Use Sequence.move() and verify that the changes are reflected in the
- * DataObject.
- */
-
- sequence.move(1, 5);
- sequence.move(4, 2);
-
- // The expected arrangement of sequence is as follows
- // {<Letters, "A">, <Letters, "K">, <Letters, "C">, <Numbers, 15>,
- // <Numbers, 16>, <Numbers, 4>, <Letters, "M">, <Numbers, -10>}
-
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- 4,
- letterList.size());
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- "A",
- letterList.get(0));
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- "K",
- letterList.get(1));
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- "C",
- letterList.get(2));
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- "M",
- letterList.get(3));
-
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- 4,
- numberList.size());
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- Integer.valueOf(15),
- numberList.get(0));
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- Integer.valueOf(16),
- numberList.get(1));
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- Integer.valueOf(4),
- numberList.get(2));
- assertEquals("Sequence.move() did not have the expected effect on the DataObject represented by the Sequence.",
- Integer.valueOf(-10),
- numberList.get(3));
-
- // TODO: Add a value to a specific location within the Sequence and
- // veirfy the effect on the DataObject. Awaiting Tuscany-931
- }
-
- /**
- * Verfies that the Property being tested throughout these tests is a
- * contaiment Property
- */
- @Test
- public void verifyIsContainment() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- assertTrue("Property.isContainment() returned an unexpected value.", containmentProp.isContainment());
- }
-
- /**
- * Verifies that the initial state after clearContainer is a state in which
- * the DataObject does not have a container.
- */
- @Test
- public void verifyNullContainer() {
- assertNull("DataObject.getContainer() returned an unexpected value.", testDO.getContainer());
- }
-
- /**
- * Verfiies that the containerless DataObject returns null for
- * getContainmentProperty
- */
- @Test
- public void verifyNullContainmentProperty() {
- assertNull("DataObject.getContainmentProprety() returned an unexpected value.", testDO.getContainmentProperty());
- }
-
- /**
- * Assign both dataObj1 and dataObj2 to testDO container, then verify
- * DataObject.getContainer() for dataObj1 and dataObj2
- */
- @Test
- public void verifyGetContainer() {
- List addList = new ArrayList();
- Type type = testDO.getType();
- Property containmentProp = testDO.getInstanceProperty("containMany");
-
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- // Ensure that any previous containment relationships are broken.
-
- addList.clear();
- testDO.setList("containMany", addList);
- testDO.detach();
- addList.clear();
-
- addList.add(dataObj1);
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- // Verify containment of dataObj1 and dataObj2 by testDO
-
- assertEquals("DataObject.getContainer() did not return the appropriate DataObject.", testDO, dataObj1
- .getContainer());
-
- assertEquals("DataObject.getContainer() did not return the appropriate DataObject.", testDO, dataObj2
- .getContainer());
- }
-
- /**
- * Assign both dataObj1 and dataObj2 to testDO container, then verify
- * DataObject.getContainmentProperty for dataObj1 and dataObj2
- */
- @Test
- public void verifyGetContainmentProperty() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- addList.add(dataObj1);
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- assertEquals("DataObject.getContainmentProperty() did not return the appropriate Property.",
- containmentProp,
- dataObj1.getContainmentProperty());
-
- assertEquals("DataObject.getContainmentProperty() did not return the appropriate Property.",
- containmentProp,
- dataObj2.getContainmentProperty());
- }
-
- /**
- * Assign both dataObj1 and dataObj2 to testDO container, then verify the
- * contents of the containing property in testDO
- */
- @Test
- public void verifyContainmentContents() {
- assertNull("testDO container != null", testDO.getContainer());
- assertEquals("testDO.containMany != 0", 0, testDO.getList("containMany").size());
-
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- addList.add(dataObj1);
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- List returnedList = testDO.getList(containmentProp);
-
- assertEquals("DataObject.getList() size is incorrect", 2, returnedList.size());
- assertEquals("DataObject.getList() did not return the List specified in DataObject.setList()",
- dataObj1,
- returnedList.get(0));
- assertEquals("DataObject.getList() did not return the List specified in DataObject.setList()",
- dataObj2,
- returnedList.get(1));
- }
-
- /**
- * Assign both dataObj1 and dataObj2 to testDO container, then Assign
- * dataObj2 to dataObj1 container. Verify dataObj2 is automatically removed
- * from testDO container
- */
- @Test
- public void verifyAutomaticRemoval() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- addList.add(dataObj1);
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- // Verify the precondition
-
- assertEquals("DataObject.getContainer() did not return the appropriate DataObject.", testDO, dataObj1
- .getContainer());
-
- assertEquals("DataObject.getContainer() did not return the appropriate DataObject.", testDO, dataObj2
- .getContainer());
-
- // After the following section, it should be true that: testDO contains
- // dataObj1 contains dataObj2
-
- addList.clear();
- addList.add(dataObj2);
- dataObj1.setList(containmentProp, addList);
-
- // Verify automatic removal of dataObj2 from testDO container
-
- List returnedList = testDO.getList(containmentProp);
- assertEquals("Once placed in a new container, the DataObject should no longer appear in the former container.",
- 1,
- returnedList.size());
- assertEquals("Once placed in a new container, the DataObject should no longer appear in the former container.",
- dataObj1,
- returnedList.get(0));
- }
-
- /**
- * Assign both dataObj1 and dataObj2 to testDO container, then Assign
- * dataObj2 to dataObj1 container. Verify dataObj2 is contained by dataObj1
- */
- @Test
- public void verifyNewContainer() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- addList.add(dataObj1);
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- // After the following section, it should be true that: testDO contains
- // dataObj1 contains dataObj2
-
- addList.clear();
- addList.add(dataObj2);
- dataObj1.setList(containmentProp, addList);
-
- // Verify that dataObj2 was correctly added to dataObj1 container
-
- List returnedList = dataObj1.getList(containmentProp);
- assertEquals("Once assigned to a new container, the DataObject should appear in the new container.",
- 1,
- returnedList.size());
- assertEquals("Once assigned to a new container, the DataObject should appear in the new container.",
- dataObj2,
- returnedList.get(0));
- assertEquals("DataObject.getContainer() did not return the appropriate DataObject.", dataObj1, dataObj2
- .getContainer());
- }
-
- /**
- * Verify that detach() removes the object from its container.
- */
- @Test
- public void verifyDetachRemoval() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- // After the following section, it should be true that: dataObj1
- // contains testDO contains dataObj2
-
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
- addList.clear();
- addList.add(testDO);
- dataObj1.setList(containmentProp, addList);
-
- testDO.detach();
-
- List returnedList = dataObj1.getList(containmentProp);
- assertEquals("Detaching the contained object did not remove it from container", 0, returnedList.size());
-
- assertNull("DataObject.getContainer() did not return null as expected for a detached DataObject.", testDO
- .getContainer());
- }
-
- /**
- * Verify that DataObject.detach() does not affect objects contained by the
- * detached DataObject
- */
- @Test
- public void verifyDetachContainer() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- // After the following section, it should be true that: dataObj1
- // contains testDO contains dataObj2
-
- addList.add(testDO);
- dataObj1.setList(containmentProp, addList);
- addList.clear();
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- testDO.detach();
-
- List returnedList = testDO.getList(containmentProp);
-
- assertEquals("Detaching a DataObject should not detach its contained DataObjects.", 1, returnedList.size());
- assertEquals("Detaching a DataObject should not affect it as a container.", dataObj2, returnedList.get(0));
- }
-
- /**
- * Verify that DataObject.detach() does not affect objects contained by the
- * detached DataObject
- */
- @Test
- public void verifyDetachContainedDOs() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- // After the following section, it should be true that: dataObj1
- // contains testDO contains dataObj2
-
- addList.add(testDO);
- dataObj1.setList(containmentProp, addList);
- addList.clear();
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- testDO.detach();
-
- assertEquals("Detaching a DataObject should not affect contained DataObjects.", testDO, dataObj2.getContainer());
- }
-
- /**
- * Verify that DataObject.delete() removes the object from its container.
- */
- @Test
- public void verifyDeleteRemoval() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- // After the following section, it should be true that: dataObj1
- // contains testDO contains dataObj2
-
- addList.add(testDO);
- dataObj1.setList(containmentProp, addList);
- addList.clear();
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- testDO.delete();
-
- assertEquals("Deleting the DataObject did not remove it from its container.", 0, dataObj1
- .getList(containmentProp).size());
- }
-
- /**
- * Verify that DataObject.delete() removes the containment reflected by the
- * deleted DataObject
- */
- @Test
- public void verifyDeleteResultsOnDeleted() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- // After the following section, it should be true that: dataObj1
- // contains testDO contains dataObj2
-
- addList.add(testDO);
- dataObj1.setList(containmentProp, addList);
- addList.clear();
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- testDO.delete();
-
- assertNotNull("A deleted DataObject should remain programatically accessible.", testDO);
- assertNull("Deleting the DataObject did not affect its view of its container.", testDO.getContainer());
- }
-
- /**
- * Verify that DataObject.delete() removes its contents as a container.
- */
- @Test
- public void verifyDeleteAsContainer() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- // After the following section, it should be true that: dataObj1
- // contains testDO contains dataObj2
-
- addList.add(testDO);
- dataObj1.setList(containmentProp, addList);
- addList.clear();
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- testDO.delete();
-
- assertNotNull("A deleted DataObject should remain programatically accessible.", testDO);
- assertEquals("Deleting the DataObject did not empty it as a container.", 0, testDO.getList(containmentProp)
- .size());
- }
-
- /**
- * Verify that DataObject.delete() affects contained DataObjects.
- */
- @Test
- public void verifyDeleteAffectOnContained() {
- Property containmentProp = testDO.getInstanceProperty("containMany");
- List addList = new ArrayList();
- Type type = testDO.getType();
- DataObject dataObj1 = getScope().getDataFactory().create(type);
- DataObject dataObj2 = getScope().getDataFactory().create(type);
-
- // After the following section, it should be true that: dataObj1
- // contains testDO contains dataObj2
-
- addList.add(testDO);
- dataObj1.setList(containmentProp, addList);
- addList.clear();
- addList.add(dataObj2);
- testDO.setList(containmentProp, addList);
-
- testDO.delete();
-
- assertNull("Deleting the containing DataObject was not reflected in the contained DataObject.", dataObj2
- .getContainer());
- }
-
- /**
- * testRecursiveDeletion verifies that when a DataObject is deleted, all
- * (recursively) contained DataObjects are also deleted.
- */
- @Test
- public void testRecursiveDeletion() {
- Type type = testDO.getType();
- Property containmentProp = type.getProperty("containMany");
-
- assertTrue("Cannot continue with test because Property.isContainment() is false.", containmentProp
- .isContainment());
-
- DataFactory df = getScope().getDataFactory();
- DataObject child1 = df.create(type);
- DataObject child2 = df.create(type);
- DataObject child3 = df.create(type);
-
- List addList = new ArrayList();
-
- /**
- * Establish a series of containment relationships
- */
-
- addList.add(child1);
- testDO.setList(containmentProp, addList);
-
- addList.clear();
- addList.add(child2);
- child1.setList(containmentProp, addList);
-
- addList.clear();
- addList.add(child3);
- child2.setList(containmentProp, addList);
-
- /**
- * Verify that containment has been established correctly.
- */
-
- assertEquals("The expected containment relationships were not correctly formed.", child3.getContainer(), child2);
- assertEquals("The expected containment relationships were not correctly formed.", child2.getContainer(), child1);
- assertEquals("The expected containment relationships were not correctly formed.", child1.getContainer(), testDO);
-
- /**
- * Delete the root DataObject and verify that contained DataObjects are
- * recursively affected.
- */
-
- testDO.delete();
-
- assertEquals("DataObject.delete() did not recursively affect contained DataObjects.", testDO
- .getList(containmentProp).size(), 0);
- assertNull("DataObject.delete() did not recursively affect contained DataObjects.", child1.getContainer());
- assertNull("DataObject.delete() did not recursively affect contained DataObjects.", child2.getContainer());
- assertNull("DataObject.delete() did not recursively affect contained DataObjects.", child3.getContainer());
-
- }
-}