Package org.apache.yoko.bindings.corba.types

Source Code of org.apache.yoko.bindings.corba.types.CorbaAnyHandlerTest

/**
* 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 org.apache.yoko.bindings.corba.types;

import javax.xml.namespace.QName;

import org.apache.yoko.wsdl.CorbaConstants;

import org.omg.CORBA.Any;
import org.omg.CORBA.ORB;
import org.omg.CORBA.TCKind;
import org.omg.CORBA.TypeCode;

import junit.framework.TestCase;

public class CorbaAnyHandlerTest extends TestCase {

    private ORB orb;
   
    public CorbaAnyHandlerTest(String arg0) {
        super(arg0);
    }

    public static void main(String[] args) {
        junit.textui.TestRunner.run(CorbaAnyHandlerTest.class);
    }
   
    protected void setUp() throws Exception {
        super.setUp();

        java.util.Properties props = System.getProperties();
        props.put("org.omg.CORBA.ORBClass", "org.apache.yoko.orb.CORBA.ORB");
        props.put("org.omg.CORBA.ORBSingletonClass", "org.apache.yoko.orb.CORBA.ORBSingleton");
        props.put("yoko.orb.id", "Yoko-Server-Binding");
        orb = ORB.init(new String[0], props);
    }
   
    protected void tearDown() throws Exception {
        if (orb != null) {
            try {
                orb.destroy();
            } catch (Exception ex) {
                // Do nothing.  Throw an Exception?
            }
        }
    }
   
    public void testGetSetSchemaType() {
        String testSchemaType = "xs:string";
        QName anyName = new QName("TestAny");
        QName anyIdlType = CorbaConstants.NT_CORBA_ANY;
        TypeCode anyTC = orb.get_primitive_tc(TCKind.tk_any);
       
        CorbaAnyHandler anyHandler = new CorbaAnyHandler(anyName, anyIdlType, anyTC, null);
        anyHandler.setSchemaType(testSchemaType);
        String result = anyHandler.getSchemaType();
        assert(result.equals(testSchemaType));
    }
   
    public void testGetSetValue() {
        QName anyName = new QName("TestAny");
        QName anyIdlType = CorbaConstants.NT_CORBA_ANY;
        TypeCode anyTC = orb.get_primitive_tc(TCKind.tk_any);
       
        CorbaAnyHandler anyHandler = new CorbaAnyHandler(anyName, anyIdlType, anyTC, null);
        Any any = orb.create_any();
        String expectedSchemaType = null;
        Any result = null;
        String resultSchemaType = null;

        boolean boolValue = false;
        any.insert_boolean(boolValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:boolean";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_boolean);
        boolean boolResult = result.extract_boolean();
        assertTrue(boolResult == boolValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        char charValue = 'c';
        any.insert_char(charValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:byte";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_char);
        char charResult = result.extract_char();
        assertTrue(charResult == charValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        char wcharValue = 'w';
        any.insert_wchar(wcharValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:string";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_wchar);
        char wcharResult = result.extract_wchar();
        assertTrue(wcharResult == wcharValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        byte octetValue = (byte)8;
        any.insert_octet(octetValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:unsignedByte";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_octet);
        byte octetResult = result.extract_octet();
        assertTrue(octetResult == octetValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        short shortValue = (short)-123;
        any.insert_short(shortValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:short";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_short);
        short shortResult = result.extract_short();
        assertTrue(shortResult == shortValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        short ushortValue = (short)123;
        any.insert_ushort(ushortValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:unsignedShort";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_ushort);
        short ushortResult = result.extract_ushort();
        assertTrue(ushortResult == ushortValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        int longValue = -12345;
        any.insert_long(longValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:int";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_long);
        int longResult = result.extract_long();
        assertTrue(longResult == longValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        int ulongValue = 12345;
        any.insert_ulong(ulongValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:unsignedInt";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_ulong);
        int ulongResult = result.extract_ulong();
        assertTrue(ulongResult == ulongValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        long longlongValue = -123456789;
        any.insert_longlong(longlongValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:long";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_longlong);
        long longlongResult = result.extract_longlong();
        assertTrue(longlongResult == longlongValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        long ulonglongValue = 123456789;
        any.insert_ulonglong(ulonglongValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:unsignedLong";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_ulonglong);
        long ulonglongResult = result.extract_ulonglong();
        assertTrue(ulonglongResult == ulonglongValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        double doubleValue = 1234.56;
        any.insert_double(doubleValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:double";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_double);
        double doubleResult = result.extract_double();
        assertTrue(doubleResult == doubleValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        float floatValue = 123456.78f;
        any.insert_float(floatValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:float";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_float);
        float floatResult = result.extract_float();
        assertTrue(floatResult == floatValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));
       
        String stringValue = "test string";
        any.insert_string(stringValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:string";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_string);
        String stringResult = result.extract_string();
        assertTrue(stringResult == stringValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));

        String wstringValue = "test wstring";
        any.insert_wstring(wstringValue);
        anyHandler.setValue(any);
        expectedSchemaType = "xs:string";
        result = anyHandler.getValue();
        assertTrue(result.type().kind().value() == TCKind._tk_wstring);
        String wstringResult = result.extract_wstring();
        assertTrue(wstringResult == wstringValue);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(expectedSchemaType));
    }
   
    public void testGetSetValueData() {
        QName anyName = new QName("TestAny");
        QName anyIdlType = CorbaConstants.NT_CORBA_ANY;
        TypeCode anyTC = orb.get_primitive_tc(TCKind.tk_any);
        CorbaAnyHandler anyHandler = new CorbaAnyHandler(anyName, anyIdlType, anyTC, null);

        String value = null;
        String resultValue = null;
        String schemaType = null;
        String resultSchemaType = null;
        Any resultAny = null;
       
        value = "false";
        schemaType = "xs:boolean";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));       
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_boolean);

        value = "7";
        schemaType = "xs:byte";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_char);

        value = "1234.56";
        schemaType = "xs:double";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_double);

        value = "987654.321";
        schemaType = "xs:float";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_float);

        value = "12345";
        schemaType = "xs:int";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_long);

        value = "123456789";
        schemaType = "xs:long";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_longlong);

        value = "123";
        schemaType = "xs:short";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_short);

        value = "test string";
        schemaType = "xs:string";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_string);

        value = "9";
        schemaType = "xs:unsignedByte";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_octet);

        value = "654321";
        schemaType = "xs:unsignedInt";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_ulong);

        value = "987654321";
        schemaType = "xs:unsignedLong";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_ulonglong);

        value = "321";
        schemaType = "xs:unsignedShort";
        anyHandler.setValueFromData(orb, value, schemaType);
        resultValue = anyHandler.getValueData();
        resultSchemaType = anyHandler.getSchemaType();
        assertTrue(resultValue.equals(value));
        assertTrue(resultSchemaType.equals(schemaType));
        resultAny = anyHandler.getValue();
        assertTrue(resultAny.type().kind().value() == TCKind._tk_ushort);
    }
}
TOP

Related Classes of org.apache.yoko.bindings.corba.types.CorbaAnyHandlerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.