/******************************************************************************* * 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: * bdoughan - Mar 17/2009 - 2.0 - Initial implementation ******************************************************************************/ package org.eclipse.persistence.testing.sdo.helper.classgen.dynamicimpl; import java.io.InputStream; import java.lang.reflect.Method; import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; import java.util.List; import org.eclipse.persistence.sdo.SDOType; import org.eclipse.persistence.testing.sdo.SDOTestCase; import commonj.sdo.DataObject; import commonj.sdo.Type; public class DataTypesTestCases extends SDOTestCase { private static String XSD = "org/eclipse/persistence/testing/sdo/helper/classgen/dynamicimpl/DataTypes.xsd"; private static Object CONTROL_OBJECT = "control"; private static String CONTROL_STRING = "control"; private static List CONTROL_STRINGS = new ArrayList(); private static boolean CONTROL_BOOLEAN = true; private static byte CONTROL_BYTE = 1; private static byte[] CONTROL_BYTES = new byte[0]; private static BigDecimal CONTROL_BIG_DECIMAL = BigDecimal.ONE; private static double CONTROL_DOUBLE = 1; private static float CONTROL_FLOAT = 1; private static int CONTROL_INT = 1; private static BigInteger CONTROL_BIG_INTEGER = BigInteger.ONE; private static long CONTROL_LONG = 1; private static short CONTROL_SHORT = 1; public DataTypesTestCases(String name) { super(name); } public void setUp() { super.setUp(); InputStream xsdInputStream = Thread.currentThread().getContextClassLoader().getSystemResourceAsStream(XSD); this.aHelperContext.getXSDHelper().define(xsdInputStream, null); } public void testCreateObject() { DataObject dataTypesDO = aHelperContext.getDataFactory().create("http://www.example.com", "DataTypes"); DataTypes dataTypes = (DataTypes) dataTypesDO; dataTypes.setAnySimpleTypeProperty(CONTROL_OBJECT); assertEquals(CONTROL_OBJECT, dataTypes.getAnySimpleTypeProperty()); dataTypes.setAnyTypeProperty(dataTypesDO); assertEquals(dataTypesDO, dataTypes.getAnyTypeProperty()); dataTypes.setAnyURIProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getAnyURIProperty()); dataTypes.setBase64BinaryProperty(CONTROL_BYTES); assertEquals(CONTROL_BYTES, dataTypes.getBase64BinaryProperty()); dataTypes.setBooleanProperty(CONTROL_BOOLEAN); assertEquals(CONTROL_BOOLEAN, dataTypes.isBooleanProperty()); dataTypes.setByteProperty(CONTROL_BYTE); assertEquals(CONTROL_BYTE, dataTypes.getByteProperty()); dataTypes.setDateProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getDateProperty()); dataTypes.setDateTimeProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getDateTimeProperty()); dataTypes.setDecimalProperty(CONTROL_BIG_DECIMAL); assertEquals(CONTROL_BIG_DECIMAL, dataTypes.getDecimalProperty()); dataTypes.setDoubleProperty(CONTROL_DOUBLE); assertEquals(CONTROL_DOUBLE, dataTypes.getDoubleProperty()); dataTypes.setDurationProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getDurationProperty()); dataTypes.setENTITIESProperty(CONTROL_STRINGS); assertEquals(CONTROL_STRINGS, dataTypes.getENTITIESProperty()); dataTypes.setENTITYProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getENTITYProperty()); dataTypes.setFloatProperty(CONTROL_FLOAT); assertEquals(CONTROL_FLOAT, dataTypes.getFloatProperty()); dataTypes.setGDayProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getGDayProperty()); dataTypes.setGMonthProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getGMonthProperty()); dataTypes.setGMonthDayProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getGMonthDayProperty()); dataTypes.setGYearProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getGYearProperty()); dataTypes.setGYearMonthProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getGYearMonthProperty()); dataTypes.setHexBinaryProperty(CONTROL_BYTES); assertEquals(CONTROL_BYTES, dataTypes.getHexBinaryProperty()); dataTypes.setIDProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getIDProperty()); dataTypes.setIDREFProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getIDREFProperty()); dataTypes.setIntProperty(CONTROL_INT); assertEquals(CONTROL_INT, dataTypes.getIntProperty()); dataTypes.setIntegerProperty(CONTROL_BIG_INTEGER); assertEquals(CONTROL_BIG_INTEGER, dataTypes.getIntegerProperty()); dataTypes.setLanguageProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getLanguageProperty()); dataTypes.setLongProperty(CONTROL_LONG); assertEquals(CONTROL_LONG, dataTypes.getLongProperty()); dataTypes.setNameProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getNameProperty()); dataTypes.setNCNameProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getNCNameProperty()); dataTypes.setNegativeIntegerProperty(CONTROL_BIG_INTEGER); assertEquals(CONTROL_BIG_INTEGER, dataTypes.getNegativeIntegerProperty()); dataTypes.setNMTOKENProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getNMTOKENProperty()); dataTypes.setNMTOKENSProperty(CONTROL_STRINGS); assertEquals(CONTROL_STRINGS, dataTypes.getNMTOKENSProperty()); dataTypes.setNonNegativeIntegerProperty(CONTROL_BIG_INTEGER); assertEquals(CONTROL_BIG_INTEGER, dataTypes.getNonNegativeIntegerProperty()); dataTypes.setNonPositiveIntegerProperty(CONTROL_BIG_INTEGER); assertEquals(CONTROL_BIG_INTEGER, dataTypes.getNonPositiveIntegerProperty()); dataTypes.setNormalizedStringProperty(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getNormalizedStringProperty()); dataTypes.setNOTATION(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getNOTATION()); dataTypes.setPositiveIntegerProperty(CONTROL_BIG_INTEGER); assertEquals(CONTROL_BIG_INTEGER, dataTypes.getPositiveIntegerProperty()); dataTypes.setQName(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getQName()); dataTypes.setShort(CONTROL_SHORT); assertEquals(CONTROL_SHORT, dataTypes.getShort()); dataTypes.setString(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getString()); dataTypes.setTime(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getTime()); dataTypes.setToken(CONTROL_STRING); assertEquals(CONTROL_STRING, dataTypes.getToken()); dataTypes.setUnsignedByte(CONTROL_SHORT); assertEquals(CONTROL_SHORT, dataTypes.getUnsignedByte()); dataTypes.setUnsignedInt(CONTROL_LONG); assertEquals(CONTROL_LONG, dataTypes.getUnsignedInt()); dataTypes.setUnsignedLong(CONTROL_BIG_INTEGER); assertEquals(CONTROL_BIG_INTEGER, dataTypes.getUnsignedLong()); dataTypes.setUnsignedShort(CONTROL_INT); assertEquals(CONTROL_INT, dataTypes.getUnsignedInt()); } public void testBooleanMethodsExist() throws Exception { SDOType theType = (SDOType)aHelperContext.getTypeHelper().getType("http://www.example.com", "DataTypes"); Class implClass = theType.getImplClass(); assertNotNull(implClass); Method isMethod = implClass.getMethod("isBooleanProperty", new Class[0]); assertNotNull(isMethod); Method getMethod = implClass.getMethod("getBooleanProperty", new Class[0]); assertNotNull(getMethod); } }