/*******************************************************************************
* Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation from Oracle TopLink
******************************************************************************/
package org.eclipse.persistence.testing.sdo.model.dataobject.containment;
import commonj.sdo.DataObject;
import commonj.sdo.Property;
public class CreateDataObjectTestCases extends ContainmentTestCases {
public CreateDataObjectTestCases(String name) {
super(name);
}
public void testCreateDataObjectForPropertyWithNullType() {
DataObject created = rootDataObject.createDataObject("nullTypeProp");
assertNull(created);
//TODO:Or should we expect an exception?
}
public void testCreateDataObjectForProperty() {
DataObject created = rootDataObject.createDataObject("child");
assertNotNull(created);
assertNotNull(created.getType());
assertEquals(firstChildType.getName(), created.getType().getName());
assertEquals(rootDataObject, created.getContainer());
assertTrue(rootDataObject.isSet("child"));
assertEquals("child", created.getContainmentProperty().getName());
}
public void testCreateDataObjectForPropertyWith3Args() {
DataObject created = rootDataObject.createDataObject("child", firstChildType.getURI(), firstChildType.getName());
assertNotNull(created);
assertNotNull(created.getType());
assertEquals(firstChildType.getName(), created.getType().getName());
assertEquals(rootDataObject, created.getContainer());
assertTrue(rootDataObject.isSet("child"));
assertEquals("child", created.getContainmentProperty().getName());
}
public void testCreateDataObjectForPropertyByIndex() {
int index = -1;
for (int i = 0; i < rootDataObject.getInstanceProperties().size(); i++) {
Property nextProperty = (Property)rootDataObject.getInstanceProperties().get(i);
if (nextProperty.getName().equals("child")) {
index = i;
}
}
DataObject created = rootDataObject.createDataObject(index);
assertNotNull(created);
assertNotNull(created.getType());
assertEquals(firstChildType.getName(), created.getType().getName());
assertEquals(rootDataObject, created.getContainer());
assertTrue(rootDataObject.isSet("child"));
assertEquals("child", created.getContainmentProperty().getName());
}
public void testCreateDataObjectForPropertyByIndexWith3Args() {
int index = -1;
for (int i = 0; i < rootDataObject.getInstanceProperties().size(); i++) {
Property nextProperty = (Property)rootDataObject.getInstanceProperties().get(i);
if (nextProperty.getName().equals("child")) {
index = i;
}
}
DataObject created = rootDataObject.createDataObject(index, firstChildType.getURI(), firstChildType.getName());
assertNotNull(created);
assertNotNull(created.getType());
assertEquals(firstChildType.getName(), created.getType().getName());
assertEquals(rootDataObject, created.getContainer());
assertTrue(rootDataObject.isSet("child"));
assertEquals("child", created.getContainmentProperty().getName());
}
}