diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-10 21:17:39 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-10 21:17:39 +0000 |
commit | eb11fd83f7908876fe6041086d6025c9468de672 (patch) | |
tree | 7475c93a5adceca4829d5c7bf6631d4b09749f4b /sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/conversion/ConversionBase.java | |
parent | 39a3e278e786438a92428fe13646d09f3441d2e6 (diff) |
Moving SDO CTS
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@834672 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/conversion/ConversionBase.java')
-rw-r--r-- | sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/conversion/ConversionBase.java | 287 |
1 files changed, 287 insertions, 0 deletions
diff --git a/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/conversion/ConversionBase.java b/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/conversion/ConversionBase.java new file mode 100644 index 0000000000..83713db7e5 --- /dev/null +++ b/sdo-java/trunk-cts/sdo2.1/src/main/java/test/sdo21/tests/conversion/ConversionBase.java @@ -0,0 +1,287 @@ +/** + * + * 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. + */ +package test.sdo21.tests.conversion; + +import junit.framework.TestCase; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.TimeZone; +import java.util.Date; +import java.math.BigDecimal; +import java.math.BigInteger; + +import test.sdo21.framework.TestHelper; +import test.sdo21.framework.junit3_8.CTSTestCase; +import test.sdo21.CTSSuite; +import commonj.sdo.DataObject; +import commonj.sdo.helper.TypeHelper; + +/** + * Base class for conversion tests. + */ +public class ConversionBase extends CTSTestCase { + + /** + * This variable is used to create unique type names to avoid name clashes + * in TypeHelper + */ + protected static int unique = 0; + + /** + * DateFormat is set up in the constructor as per the format in the + * specification. + */ + protected DateFormat f; + + /** + * The TestHelper interface provides access to SDO helper classes. + */ + protected TestHelper testHelper; + + /** + * Message to use when an invalid type conversion does not throw a + * ClassCastException + */ + protected static final String EXPECTED_CLASS_CAST_EXCEPTION = + "ClassCastException should have been thrown (invalid conversion)"; + + + public ConversionBase(String string) { + super(string); + } + + /** + * Sets up a time format and obtain a test helper. + */ + public void setUp() throws Exception { + super.setUp(); + + // set up time format as per page 71 of SDO for Java 2.1.0 FINAL + f = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.'SSS'Z'"); + f.setTimeZone(TimeZone.getTimeZone("GMT")); + + // obtain TestHelper implementation + testHelper = getTestHelper(); + } + + /** + * Helper function for converions tests. Creates a DataObject with name + * 'product' and data hold property + * + * @param strName the name of the data hold property in the created object. + * @param strType the type of the data hold property in the created object. + * @return the created DataObject. + */ + private DataObject createTypeConversionObject(String strName, String strType) { + + // obtain a TypeHelper + TypeHelper typeHelper = getScope().getTypeHelper(); + + // create new DataType + String uri = "http://example.com/TypeConversionTest/" + unique; + String name = "TypeConversionTest" + unique; + unique++; + DataObject productType = getScope().getDataFactory().create("commonj.sdo", "Type"); + productType.set("uri", uri); + productType.set("name", name); + + // define property + DataObject dateValProperty = productType.createDataObject("property"); + dateValProperty.set("name", strName); + dateValProperty.set("type", typeHelper.getType("commonj.sdo", strType)); + dateValProperty.setBoolean("containment", false); + + // define the type + typeHelper.define(productType); + + // create DataObject using the new Type + return getScope().getDataFactory().create(uri, name); + } + + /** + * Helper function for boolean converions tests. Created a DataObject with + * 'boolVal' boolean property + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createBooleanObject(boolean initialVal) { + DataObject productType = createTypeConversionObject("boolVal", "Boolean"); + productType.setBoolean("boolVal", initialVal); + return productType; + } + + /** + * Helper function for byte converions tests. Creates a DataObject with + * 'byteVal' byte property + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createByteObject(byte initialVal) { + DataObject productType = createTypeConversionObject("byteVal", "Byte"); + productType.setByte("byteVal", initialVal); + return productType; + } + + /** + * Helper function for char converions tests. Creates a DataObject with + * 'charVal' char property + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createCharObject(char initialVal) { + DataObject productType = createTypeConversionObject("charVal", "Character"); + productType.setChar("charVal", initialVal); + return productType; + } + + /** + * Helper function for Double converions tests. Creates a DataObject with + * 'doubleVal' double property. + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createDoubleObject(double initialVal) { + DataObject productType = createTypeConversionObject("doubleVal", "Double"); + productType.setDouble("doubleVal", initialVal); + return productType; + } + + /** + * Helper function for Float converions tests. Creates a DataObject with + * 'floatVal' float property + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createFloatObject(float initialVal) { + DataObject productType = createTypeConversionObject("floatVal", "Float"); + productType.setFloat("floatVal", initialVal); + return productType; + } + + /** + * Helper function for int converions tests. Creates a DataObject with + * 'intVal' int property + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createIntObject(int initialVal) { + DataObject productType = createTypeConversionObject("intVal", "Int"); + productType.setInt("intVal", initialVal); + return productType; + } + + /** + * Helper function for Long converions tests. Creates a DataObject with + * 'longVal' long property. + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createLongObject(long initialVal) { + DataObject productType = createTypeConversionObject("longVal", "Long"); + productType.setLong("longVal", initialVal); + return productType; + } + + /** + * Helper function for short converions tests. Creates a DataObject with + * 'shortVal' short property + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createShortObject(short initialVal) { + DataObject productType = createTypeConversionObject("shortVal", "Short"); + productType.setShort("shortVal", initialVal); + return productType; + } + + /** + * Helper function for short converions tests. Creates a DataObject with + * 'stringVal' string property + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createStringObject(String initialVal) { + DataObject productType = createTypeConversionObject("stringVal", "String"); + productType.setString("stringVal", initialVal); + return productType; + } + + /** + * Helper function for byte[] converions tests. Created a DataObject with + * 'bytesVal' byte[] property + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createBytesObject(byte[] initialVal) { + DataObject productType = createTypeConversionObject("bytesVal", "Bytes"); + productType.setBytes("bytesVal", initialVal); + return productType; + } + + /** + * Helper function for Decimal converions tests. creates a DataObject with + * 'bigDecimalVal' BigDecimal property + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createBigDecimalObject(BigDecimal initialVal) { + DataObject productType = createTypeConversionObject("bigDecimalVal", "Decimal"); + productType.setBigDecimal("bigDecimalVal", initialVal); + return productType; + } + + /** + * Helper function for BigInteger converions tests. Creates a DataObject + * with 'bigIntegerVal' BigInteger property. + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createBigIntegerObject(BigInteger initialVal) { + DataObject productType = createTypeConversionObject("bigIntegerVal", "Integer"); + productType.setBigInteger("bigIntegerVal", initialVal); + return productType; + } + + /** + * Helper function for Date converions tests. Creates a DataObject with + * 'dateVal' date property. + * + * @param initialVal the initial value of the data hold property. + * @return the initialized DataObject. + */ + protected DataObject createDateObject(Date initialVal) { + DataObject productType = createTypeConversionObject("dateVal", "Date"); + productType.setDate("dateVal", initialVal); + return productType; + } +} |