summaryrefslogtreecommitdiffstats
path: root/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddTypedTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddTypedTest.java')
-rw-r--r--sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddTypedTest.java599
1 files changed, 599 insertions, 0 deletions
diff --git a/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddTypedTest.java b/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddTypedTest.java
new file mode 100644
index 0000000000..4c927b67da
--- /dev/null
+++ b/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddTypedTest.java
@@ -0,0 +1,599 @@
+/*
+ * 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;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.Sequence;
+import commonj.sdo.Property;
+import commonj.sdo.Type;
+import commonj.sdo.helper.DataFactory;
+import commonj.sdo.helper.HelperContext;
+import commonj.sdo.helper.TypeHelper;
+import test.sdo21.framework.TestHelper;
+import test.sdo21.framework.junit3_8.CTSTestCase;
+import test.sdo21.CTSSuite;
+import junit.framework.TestCase;
+
+public class SequenceAddTypedTest extends CTSTestCase {
+
+ protected String URI = "http://www.example.com/cts/SequenceAddTypedTest";
+
+ protected TestHelper testHelper;
+ protected DataFactory dataFactory;
+ protected TypeHelper typeHelper;
+ protected DataObject testDataObject;
+
+ public SequenceAddTypedTest(String string) throws Exception{
+ super(string);
+ }
+
+ public void setUp() throws Exception {
+ super.setUp();
+
+ HelperContext scope = getScope();
+ testHelper = getTestHelper();
+ dataFactory = scope.getDataFactory();
+ typeHelper = scope.getTypeHelper();
+
+
+ defineDynamicTypes(getName());
+ }
+
+ /**
+ * Helper function to define the types
+ * and also get the test name for use
+ * in the URI to create a seperate xmldoc
+ * for each test case.
+ *
+ * @param testName Name to append to URI
+ */
+
+ protected void defineDynamicTypes(String testName) throws Exception {
+
+ //Setup Open DataObject and enable sequence
+
+
+ String testURI = URI + testName;
+
+ if (typeHelper.getType(testURI, testName) == null) {
+ DataObject testRootType = dataFactory.create( "commonj.sdo", "Type" );
+ testRootType.set( "uri" , testURI);
+ testRootType.set( "name", testName);
+ testRootType.set( "sequenced", true );
+
+ DataObject testProperty = testRootType.createDataObject( "property" );
+ testProperty.set( "name", "testBoolean" );
+ testProperty.set( "type", typeHelper.getType("commonj.sdo", "Boolean" ));
+ testProperty.set( "many", true);
+
+ testProperty = testRootType.createDataObject( "property" );
+ testProperty.set( "name", "testString" );
+ testProperty.set( "type", typeHelper.getType("commonj.sdo", "String" ));
+ testProperty.set( "many", true);
+
+ testProperty = testRootType.createDataObject( "property" );
+ testProperty.set( "name", "testCharacter" );
+ testProperty.set( "type", typeHelper.getType("commonj.sdo", "Character" ));
+ testProperty.set( "many", true);
+
+ testProperty = testRootType.createDataObject( "property" );
+ testProperty.set( "name", "testDate" );
+ testProperty.set( "type", typeHelper.getType("commonj.sdo", "Date" ));
+ testProperty.set( "many", true);
+
+ testProperty = testRootType.createDataObject( "property" );
+ testProperty.set( "name", "testDateTime" );
+ testProperty.set( "type", typeHelper.getType("commonj.sdo", "DateTime" ));
+ testProperty.set( "many", true);
+
+ testProperty = testRootType.createDataObject( "property" );
+ testProperty.set( "name", "testDay" );
+ testProperty.set( "type", typeHelper.getType("commonj.sdo", "Day" ));
+ testProperty.set( "many", true);
+
+ testProperty = testRootType.createDataObject( "property" );
+ testProperty.set( "name", "testDecimal" );
+ testProperty.set( "type", typeHelper.getType("commonj.sdo", "Decimal" ));
+ testProperty.set( "many", true);
+
+ testProperty = testRootType.createDataObject( "property" );
+ testProperty.set( "name", "testDouble" );
+ testProperty.set( "type", typeHelper.getType("commonj.sdo", "Double" ));
+ testProperty.set( "many", true);
+
+ typeHelper.define( testRootType );
+ }
+ testDataObject = dataFactory.create( testURI, testName );
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of Boolean
+ *
+ * boolean add(String propertyName, Object value)
+ *
+ */
+ public void testAddBooleanByName() throws Exception {
+
+ Boolean testTrue = Boolean.TRUE;
+ Boolean testFalse = Boolean.FALSE;
+
+ //DataObject testBoolean = testDataObject.getDataObject( "testBoolean" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ testSequence.add("testBoolean", Boolean.TRUE);
+ testSequence.add("testBoolean", Boolean.FALSE);
+ testSequence.add("testBoolean", Boolean.TRUE);
+ assertEquals( 3, testSequence.size() );
+
+ //Check the basic value
+ assertTrue(testTrue.equals(testSequence.getValue(0)));
+ assertTrue(testFalse.equals(testSequence.getValue(1)));
+ assertTrue(testTrue.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that they are equal to the types property
+
+ Property prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+
+
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of Boolean
+ *
+ * boolean add(Property property, Object value)
+ *
+ */
+ public void testAddBooleanByProperty() throws Exception {
+
+ Boolean testTrue = new Boolean(true);
+ Boolean testFalse = new Boolean(false);
+
+ //DataObject testBoolean = testDataObject.getDataObject( "testBoolean" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( testSequence.size(), 0 );
+
+ Property prop = testDataObject.getInstanceProperty("testBoolean");
+ testSequence.add(prop, new Boolean(true));
+ testSequence.add(prop, new Boolean(false));
+ testSequence.add(prop, new Boolean(true));
+
+ //Check the basic value
+ assertEquals( 3, testSequence.size() );
+
+ assertTrue(testTrue.equals(testSequence.getValue(0)));
+ assertTrue(testFalse.equals(testSequence.getValue(1)));
+ assertTrue(testTrue.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that they are equal to the types property
+
+ prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of Boolean
+ *
+ * boolean add(int propertyIndex, Object value)
+ *
+ */
+ public void testAddBooleanByPropertyIndex() throws Exception {
+
+ Boolean testTrue = new Boolean(true);
+ Boolean testFalse = new Boolean(false);
+
+ //DataObject testBoolean = testDataObject.getDataObject( "testBoolean" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ testSequence.add(0, new Boolean(true));
+ testSequence.add(0, new Boolean(false));
+ testSequence.add(0, new Boolean(true));
+
+ //Check the basic value
+ assertEquals(3, testSequence.size());
+ assertTrue(testTrue.equals(testSequence.getValue(0)));
+ assertTrue(testFalse.equals(testSequence.getValue(1)));
+ assertTrue(testTrue.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that they are equal to the types property
+
+ Property prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of Boolean
+ *
+ * boolean add(int index, String propertyName, Object value)
+ *
+ */
+ public void testAddBooleanByIndexAndPropertyName() throws Exception {
+
+ Boolean testTrue = new Boolean(true);
+ Boolean testFalse = new Boolean(false);
+
+ //DataObject testBoolean = testDataObject.getDataObject( "testBoolean" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ testSequence.add("testBoolean", new Boolean(true));
+ testSequence.add("testBoolean", new Boolean(false));
+ testSequence.add("testBoolean", new Boolean(true));
+
+ testSequence.add(1, "testBoolean", new Boolean(true));
+
+ //Check the basic values
+ assertEquals( 4, testSequence.size() );
+ assertTrue(testTrue.equals(testSequence.getValue(0)));
+ assertTrue(testTrue.equals(testSequence.getValue(1)));
+ assertTrue(testFalse.equals(testSequence.getValue(2)));
+ assertTrue(testTrue.equals(testSequence.getValue(3)));
+
+ //Get the properties and check
+ //that everything is set.
+
+ Property prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+
+ }
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of Boolean
+ *
+ * boolean add(int index, Property property, Object value)
+ *
+ */
+ public void testAddBooleanByIndexAndProperty() throws Exception {
+
+ Boolean testTrue = new Boolean(true);
+ Boolean testFalse = new Boolean(false);
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ Property prop = testDataObject.getInstanceProperty("testBoolean");
+ testSequence.add(0, prop, new Boolean(true));
+ testSequence.add(1, prop, new Boolean(false));
+ testSequence.add(2, prop, new Boolean(true));
+
+ //Check the basic value
+ assertEquals( 3, testSequence.size() );
+ assertTrue(testTrue.equals(testSequence.getValue(0)));
+ assertTrue(testFalse.equals(testSequence.getValue(1)));
+ assertTrue(testTrue.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that everything is set.
+
+ prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of Boolean
+ *
+ * boolean add(int index, int propertyIndex, Object value)
+ *
+ */
+ public void testAddBooleanByIndexAndPropertyIndex() throws Exception {
+
+ Boolean testTrue = new Boolean(true);
+ Boolean testFalse = new Boolean(false);
+
+ //DataObject testBoolean = testDataObject.getDataObject( "testBoolean" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ testSequence.add(0, 0, new Boolean(true));
+ testSequence.add(1, 0, new Boolean(false));
+ testSequence.add(2, 0, new Boolean(true));
+
+ //Check the basic value
+ assertEquals( 3, testSequence.size() );
+ assertTrue(testTrue.equals(testSequence.getValue(0)));
+ assertTrue(testFalse.equals(testSequence.getValue(1)));
+ assertTrue(testTrue.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that everything is set.
+
+ Property prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testBoolean"));
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of String
+ *
+ * String add(String propertyName, Object value)
+ *
+ */
+ public void testAddStringByName() throws Exception {
+
+ String testString1 = new String("String1");
+ String testString2 = new String("String2");
+
+ //DataObject testString = testDataObject.getDataObject( "testString" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ testSequence.add("testString", new String("String1"));
+ testSequence.add("testString", new String("String2"));
+ testSequence.add("testString", new String("String1"));
+
+ //Check the basic value
+ assertTrue(testString1.equals(testSequence.getValue(0)));
+ assertTrue(testString2.equals(testSequence.getValue(1)));
+ assertTrue(testString1.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that they are equal to the types property
+
+ Property prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+
+
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of String
+ *
+ * String add(Property property, Object value)
+ *
+ */
+ public void testAddStringByProperty() throws Exception {
+
+ String testString1 = new String("String1");
+ String testString2 = new String("String2");
+
+ //DataObject testString = testDataObject.getDataObject( "testString" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ Property prop = testDataObject.getProperty("testString");
+ testSequence.add(prop, new String("String1"));
+ testSequence.add(prop, new String("String2"));
+ testSequence.add(prop, new String("String1"));
+
+ //Check the basic value
+ assertEquals( 3, testSequence.size() );
+
+ assertTrue(testString1.equals(testSequence.getValue(0)));
+ assertTrue(testString2.equals(testSequence.getValue(1)));
+ assertTrue(testString1.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that they are equal to the types property
+
+ prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of String
+ *
+ * String add(int propertyIndex, Object value)
+ *
+ */
+ public void testAddStringByPropertyIndex() throws Exception {
+
+ String testString1 = new String("String1");
+ String testString2 = new String("String2");
+
+ //DataObject testString = testDataObject.getDataObject( "testString" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+
+ //For the property index, it should be the
+ //order the types were defined in
+ testSequence.add(1, (Object)new String("String1"));
+ testSequence.add(1, (Object)new String("String2"));
+ testSequence.add(1, (Object)new String("String1"));
+
+ //Check the basic value
+ assertEquals( 3, testSequence.size() );
+ assertTrue(testString1.equals(testSequence.getValue(0)));
+ assertTrue(testString2.equals(testSequence.getValue(1)));
+ assertTrue(testString1.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that they are equal to the types property
+
+ Property prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of String
+ *
+ * String add(int index, String propertyName, Object value)
+ *
+ */
+ public void testAddStringByIndexAndPropertyName() throws Exception {
+
+ String testString1 = new String("String1");
+ String testString2 = new String("String2");
+
+ //DataObject testString = testDataObject.getDataObject( "testString" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ testSequence.add("testString", new String("String1"));
+ testSequence.add("testString", new String("String2"));
+ testSequence.add("testString", new String("String1"));
+
+ testSequence.add(1, "testString", new String("String1"));
+
+ //Check the basic values
+ assertEquals( 4, testSequence.size() );
+ assertTrue(testString1.equals(testSequence.getValue(0)));
+ assertTrue(testString1.equals(testSequence.getValue(1)));
+ assertTrue(testString2.equals(testSequence.getValue(2)));
+ assertTrue(testString1.equals(testSequence.getValue(3)));
+
+ //Get the properties and check
+ //that everything is set.
+
+ Property prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+
+ }
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of String
+ *
+ * String add(int index, Property property, Object value)
+ *
+ */
+ public void testAddStringByIndexAndProperty() throws Exception {
+
+ String testString1 = new String("String1");
+ String testString2 = new String("String2");
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ Property prop = testDataObject.getProperty("testString");
+ testSequence.add(0, prop, new String("String1"));
+ testSequence.add(1, prop, new String("String2"));
+ testSequence.add(2, prop, new String("String1"));
+
+ //Check the basic value
+ assertEquals( 3, testSequence.size() );
+ assertTrue(testString1.equals(testSequence.getValue(0)));
+ assertTrue(testString2.equals(testSequence.getValue(1)));
+ assertTrue(testString1.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that everything is set.
+
+ prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+
+ }
+
+ /**
+ * Tests the SDO 2.1 Sequence method for the
+ * java type of String
+ *
+ * String add(int index, int propertyIndex, Object value)
+ *
+ */
+ public void testAddStringByIndexAndPropertyIndex() throws Exception {
+
+ String testString1 = new String("String1");
+ String testString2 = new String("String2");
+
+ //DataObject testString = testDataObject.getDataObject( "testString" );
+
+ Sequence testSequence = testDataObject.getSequence();
+ assertEquals( 0, testSequence.size() );
+
+ testSequence.add(0, 1, new String("String1"));
+ testSequence.add(1, 1, new String("String2"));
+ testSequence.add(2, 1, new String("String1"));
+
+ //Check the basic value
+ assertEquals( 3, testSequence.size() );
+ assertTrue(testString1.equals(testSequence.getValue(0)));
+ assertTrue(testString2.equals(testSequence.getValue(1)));
+ assertTrue(testString1.equals(testSequence.getValue(2)));
+
+ //Get the properties and check
+ //that everything is set.
+
+ Property prop = testSequence.getProperty(0);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(1);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+ prop = testSequence.getProperty(2);
+ assertEquals( prop , testDataObject.getInstanceProperty("testString"));
+
+ }
+}