From eb11fd83f7908876fe6041086d6025c9468de672 Mon Sep 17 00:00:00 2001 From: lresende Date: Tue, 10 Nov 2009 21:17:39 +0000 Subject: Moving SDO CTS git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@834672 13f79535-47bb-0310-9956-ffa450edef68 --- .../test/sdo21/tests/api/SequenceAddOpenTest.java | 435 +++++++++++++++++++++ 1 file changed, 435 insertions(+) create mode 100644 sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddOpenTest.java (limited to 'sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddOpenTest.java') diff --git a/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddOpenTest.java b/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddOpenTest.java new file mode 100644 index 0000000000..73ea84f0d2 --- /dev/null +++ b/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/api/SequenceAddOpenTest.java @@ -0,0 +1,435 @@ +/* + * 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 junit.framework.TestCase; +import test.sdo21.framework.TestHelper; +import test.sdo21.framework.junit3_8.CTSTestCase; +import test.sdo21.CTSSuite; +import commonj.sdo.DataObject; +import commonj.sdo.Property; +import commonj.sdo.Sequence; +import commonj.sdo.Type; +import commonj.sdo.helper.HelperContext; +import commonj.sdo.helper.TypeHelper; +import commonj.sdo.helper.DataFactory; + +/** + * Tests adding objects to a sequence. Note: the tests in this test case must be run sequentially as each test + * depends on state from the previous test. + */ +public class SequenceAddOpenTest extends CTSTestCase { + + protected TestHelper testHelper; + protected DataFactory dataFactory; + protected TypeHelper typeHelper; + protected DataObject testOpenDataObject; + + public SequenceAddOpenTest(String string) { + super(string); + } + + public void setUp() throws Exception { + super.setUp(); + + HelperContext scope = getScope(); + testHelper = getTestHelper(); + dataFactory = scope.getDataFactory(); + typeHelper = scope.getTypeHelper(); + + // define an open type if it is not already defined in the HelperContext provided + // by the implementation being tested + String typeURI = "http://www.example.com/cts/SequenceAddOpenTest"; + String typeName = "OpenDataObject"; + Type openType = typeHelper.getType(typeURI, typeName); + if (openType == null) { + DataObject typeDef = dataFactory.create("commonj.sdo", "Type"); + typeDef.set("uri", typeURI); + typeDef.set("name", typeName); + typeDef.set("open", true); + typeDef.set("sequenced", true); + openType = typeHelper.define(typeDef); + } + + testOpenDataObject = dataFactory.create( openType ); + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Boolean + *

+ * boolean add(String propertyName, Object value) + */ + public void testAddBooleanByName() throws Exception { + + //Get a sequence to add to + Sequence testSequence = testOpenDataObject.getSequence(); + + //Add 3 proprerties + testSequence.add("testBoolean1", Boolean.TRUE); + testSequence.add("testBoolean2", Boolean.FALSE); + testSequence.add("testBoolean3", Boolean.TRUE); + + //Check that the size is reported correctly + //with the size of 3. + assertEquals(3, testSequence.size()); + + //Check the values that were added + assertEquals(Boolean.TRUE, testSequence.getValue(0)); + assertEquals(Boolean.FALSE, testSequence.getValue(1)); + assertEquals(Boolean.TRUE, testSequence.getValue(2)); + + Property prop = testSequence.getProperty(0); + + //OnDemand property should be a string + //Checking only the first property + assertEquals("testBoolean1", prop.getName()); + assertEquals("BooleanObject", prop.getType().getName()); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Boolean + *

+ * boolean add(Property property, Object value) + */ + public void testAddBooleanByProperty() throws Exception { + + DataObject prop = dataFactory.create("commonj.sdo", "Property"); + prop.set("type", typeHelper.getType("commonj.sdo", "Boolean")); + prop.set("name", "testBoolean1"); + + Property openProp = typeHelper.defineOpenContentProperty(null, prop); + Sequence testSequence = testOpenDataObject.getSequence(); + testSequence.add(openProp, new Boolean(false)); + assertEquals(Boolean.FALSE, testSequence.getValue(0)); + + openProp = testSequence.getProperty(0); + + //OnDemand property should be a string + //Checking only the first property + assertEquals("testBoolean1", openProp.getName()); + assertEquals("Boolean", openProp.getType().getName()); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Boolean + *

+ * boolean add(int propertyIndex, Object value) + */ + public void testAddBooleanByPropertyIndex() throws Exception { + + Sequence testSequence = testOpenDataObject.getSequence(); + testSequence.add("testBoolean", new Boolean(true)); + testSequence.add("testBoolean", new Boolean(false)); + + //Actual value to test from sequence + testSequence.add(0, new Boolean(false)); + assertEquals(Boolean.FALSE, testSequence.getValue(2)); + + } + + /** + * 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 { + + //Get a sequence from the test fixture DataObject + Sequence testSequence = testOpenDataObject.getSequence(); + + testSequence.add(0, "testBoolean", new Boolean(true)); + assertEquals(Boolean.TRUE, testSequence.getValue(0)); + + } + + /** + * 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 { + + DataObject prop = dataFactory.create("commonj.sdo", "Property"); + prop.set("type", typeHelper.getType("commonj.sdo", "Boolean")); + prop.set("name", "testBoolean"); + + Property openProp = typeHelper.defineOpenContentProperty(null, prop); + Sequence testSequence = testOpenDataObject.getSequence(); + testSequence.add(0, openProp, new Boolean(false)); + assertEquals(Boolean.FALSE, testSequence.getValue(0)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Boolean + *

+ * boolean add(int index, int propertyIndex, Object value) + */ + public void testSequenceAddBooleanByIndexAndPropertyIndex() throws Exception { + + Sequence testSequence = testOpenDataObject.getSequence(); + testSequence.add("testBoolean", new Boolean(true)); + testSequence.add("testBoolean", new Boolean(false)); + + //Actual value to test from sequence + testSequence.add(0, 0, new Boolean(false)); + assertEquals(Boolean.FALSE, testSequence.getValue(2)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of String + *

+ * boolean add(String propertyName, Object value) + */ + public void testAddStringByName() throws Exception { + + //Get a sequence to add to + Sequence testSequence = testOpenDataObject.getSequence(); + + testSequence.add("testString", new String("testString")); + assertEquals("testString", testSequence.getValue(0)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of String + *

+ * boolean add(Property property, Object value) + */ + public void testAddStringByProperty() throws Exception { + + DataObject prop = dataFactory.create("commonj.sdo", "Property"); + prop.set("type", typeHelper.getType("commonj.sdo", "String")); + prop.set("name", "testString"); + + Property openProp = typeHelper.defineOpenContentProperty(null, prop); + Sequence testSequence = testOpenDataObject.getSequence(); + + //Actual value to test + testSequence.add(openProp, new String("testString")); + assertEquals("testString", testSequence.getValue(0)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of String + *

+ * boolean add(int propertyIndex, Object value) + */ + public void testAddStringByPropertyIndex() throws Exception { + + Sequence testSequence = testOpenDataObject.getSequence(); + + //Add additional duplicate properties + testSequence.add("testString", new String("testString")); + testSequence.add("testString", new String("testString1")); + + //Actual value to check + testSequence.add(0, (Object)new String("testString2")); + assertEquals("testString2", testSequence.getValue(2)); + + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of String + *

+ * boolean add(int index, String propertyName, Object value) + */ + public void testAddStringByIndexAndPropertyName() throws Exception { + + //Get a sequence from the test fixture DataObject + Sequence testSequence = testOpenDataObject.getSequence(); + + //Actual value to test + testSequence.add(0, "testString", new String("testString")); + assertEquals("testString", testSequence.getValue(0)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of String + *

+ * boolean add(int index, Property property, Object value) + */ + public void testAddStringByIndexAndProperty() throws Exception { + + DataObject prop = dataFactory.create("commonj.sdo", "Property"); + prop.set("type", typeHelper.getType("commonj.sdo", "String")); + prop.set("name", "testString"); + + Property openProp = typeHelper.defineOpenContentProperty(null, prop); + Sequence testSequence = testOpenDataObject.getSequence(); + + //Actual value to test + testSequence.add(0, openProp, new String("testString")); + assertEquals("testString", testSequence.getValue(0)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of String + *

+ * boolean add(int index, int propertyIndex, Object value) + */ + public void testSequenceAddStringByIndexAndPropertyIndex() throws Exception { + + Sequence testSequence = testOpenDataObject.getSequence(); + testSequence.add("testString", new String("testString1")); + testSequence.add("testString", new String("testString2")); + + //Actual value to test from the sequence + testSequence.add(0, 0, new String("testString")); + assertEquals("testString2", testSequence.getValue(2)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Character + *

+ * boolean add(Character propertyName, Object value) + */ + public void testAddCharacterByName() throws Exception { + + //Get a sequence to add to + Sequence testSequence = testOpenDataObject.getSequence(); + + testSequence.add("testCharacter", new Character('A')); + assertEquals('A', testSequence.getValue(0)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Character + *

+ * boolean add(Property property, Object value) + */ + public void testAddCharacterByProperty() throws Exception { + + DataObject prop = dataFactory.create("commonj.sdo", "Property"); + prop.set("type", typeHelper.getType("commonj.sdo", "Character")); + prop.set("name", "testCharacter"); + + Property openProp = typeHelper.defineOpenContentProperty(null, prop); + Sequence testSequence = testOpenDataObject.getSequence(); + + //Actual value to test + testSequence.add(openProp, new Character('A')); + assertEquals('A', testSequence.getValue(0)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Character + *

+ * boolean add(int propertyIndex, Object value) + */ + public void testAddCharacterByPropertyIndex() throws Exception { + + Sequence testSequence = testOpenDataObject.getSequence(); + + //Add additional duplicate properties + testSequence.add("testCharacter", new Character('A')); + testSequence.add("testCharacter", new Character('B')); + + //Actual value to check + testSequence.add(0, new Character('C')); + assertEquals('C', testSequence.getValue(2)); + + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Character + *

+ * boolean add(int index, Character propertyName, Object value) + */ + public void testAddCharacterByIndexAndPropertyName() throws Exception { + + //Get a sequence from the test fixture DataObject + Sequence testSequence = testOpenDataObject.getSequence(); + + //Actual value to test + testSequence.add(0, "testCharacter", new Character('A')); + assertEquals('A', testSequence.getValue(0)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Character + *

+ * boolean add(int index, Property property, Object value) + */ + public void testAddCharacterByIndexAndProperty() throws Exception { + + DataObject prop = dataFactory.create("commonj.sdo", "Property"); + prop.set("type", typeHelper.getType("commonj.sdo", "Character")); + prop.set("name", "testCharacter"); + + Property openProp = typeHelper.defineOpenContentProperty(null, prop); + Sequence testSequence = testOpenDataObject.getSequence(); + + //Actual value to test + testSequence.add(0, openProp, new Character('A')); + assertEquals('A', testSequence.getValue(0)); + + } + + /** + * Tests the SDO 2.1 Sequence method for the + * java type of Character + *

+ * boolean add(int index, int propertyIndex, Object value) + */ + public void testSequenceAddCharacterByIndexAndPropertyIndex() throws Exception { + + Sequence testSequence = testOpenDataObject.getSequence(); + testSequence.add("testCharacter", new Character('A')); + testSequence.add("testCharacter", new Character('B')); + + //Actual value to test from the sequence + testSequence.add(0, 0, new Character('C')); + assertEquals('C', testSequence.getValue(0)); + assertEquals('A', testSequence.getValue(1)); + assertEquals('B', testSequence.getValue(2)); + + } +} -- cgit v1.2.3