You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by dm...@apache.org on 2006/07/18 18:18:23 UTC

svn commit: r423166 - in /incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba: CorbaObjectReaderTest.java CorbaObjectWriterTest.java CorbaStreamableTest.java

Author: dmiddlem
Date: Tue Jul 18 11:18:22 2006
New Revision: 423166

URL: http://svn.apache.org/viewvc?rev=423166&view=rev
Log:
Adding tests for recently added complex types - array, sequences, structs,
and exceptions.  (YOKO-40)

Modified:
    incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectReaderTest.java
    incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectWriterTest.java
    incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaStreamableTest.java

Modified: incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectReaderTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectReaderTest.java?rev=423166&r1=423165&r2=423166&view=diff
==============================================================================
--- incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectReaderTest.java (original)
+++ incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectReaderTest.java Tue Jul 18 11:18:22 2006
@@ -19,15 +19,30 @@
 package org.apache.yoko.bindings.corba;
 
 import java.math.BigInteger;
+import java.util.List;
+
+import javax.xml.namespace.QName;
 
 import junit.framework.TestCase;
 
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
 import org.omg.CORBA.portable.InputStream;
+
+import org.apache.schemas.yoko.bindings.corba.Array;
+import org.apache.schemas.yoko.bindings.corba.Exception;
+import org.apache.schemas.yoko.bindings.corba.MemberType;
+import org.apache.schemas.yoko.bindings.corba.Sequence;
+import org.apache.schemas.yoko.bindings.corba.Struct;
 import org.apache.yoko.orb.CORBA.OutputStream;
 import org.apache.yoko.orb.OCI.Buffer;
 
 public class CorbaObjectReaderTest extends TestCase {
 
+    private ORB orb;
+    
     public CorbaObjectReaderTest(String arg0) {
         super(arg0);
     }
@@ -36,8 +51,24 @@
         junit.textui.TestRunner.run(CorbaObjectReaderTest.class);
     }
     
-    protected void setUp() throws Exception {
+    protected void setUp() throws java.lang.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-Binding");
+        orb = ORB.init(new String[0], props);
+    }
+    
+    protected void tearDown() throws java.lang.Exception {
+        if (orb != null) {
+            try {
+                orb.destroy();
+            } catch (java.lang.Exception ex) {
+                // Do nothing.  Throw an Exception?
+            }
+        }
     }
 
     public void testReadBoolean() {
@@ -207,4 +238,199 @@
         String wstringValue = reader.readWString();
         assertTrue(wstringValue.equals("WString"));
     }
+    
+    // need to add tests for arrays, sequences, struct, exceptions
+    public void testReadArray() {
+        
+        int data[] = { 1, 1, 2, 3, 5, 8, 13, 21 };
+        
+        Buffer buf = new Buffer();
+        OutputStream oStream = new OutputStream(buf);
+        oStream.write_long_array(data, 0, data.length);
+
+        InputStream iStream = oStream.create_input_stream();
+        CorbaObjectReader reader = new CorbaObjectReader(iStream);
+
+        // create an array of longs
+        QName longIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "long", CorbaConstants.NP_WSDL_CORBA);
+        QName arrayIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "array", CorbaConstants.NP_WSDL_CORBA);
+        Array arrayType = new Array();
+        arrayType.setBound(data.length);
+        arrayType.setElemtype(longIdlType);
+        // name and respoitory ID of the array are not needed for this test
+
+        // build the object holder for an array.
+        TypeCode arrayTC = orb.create_array_tc(data.length, orb.get_primitive_tc(TCKind.tk_long));
+        CorbaObjectHolder obj = new CorbaObjectHolder(new QName("Array"), arrayIdlType, arrayTC, arrayType);
+        for (int i = 0; i < data.length; ++i) {
+            CorbaObjectHolder nestedObj =
+                new CorbaObjectHolder(new QName("item"), longIdlType, 
+                                      orb.get_primitive_tc(TCKind.tk_long), null);
+            obj.addNestedObject(nestedObj);
+        }
+        
+        reader.readArray(obj);
+        int length = obj.getNestedObjects().size();
+        for (int i = 0; i < length; ++i) {
+            assertTrue(new Long(obj.getNestedObject(i).getValueData()).intValue() == data[i]); 
+        }
+    }
+    
+    public void testReadSequence() {
+        String data[] = { "one", "one", "two", "three", "five", "eight", "thirteen", "twenty-one" };
+        
+        Buffer buf = new Buffer();
+        OutputStream oStream = new OutputStream(buf);
+        oStream.write_long(data.length);
+        for (int i = 0; i < data.length; ++i) {
+            oStream.write_string(data[i]);
+        }
+
+        InputStream iStream = oStream.create_input_stream();
+        CorbaObjectReader reader = new CorbaObjectReader(iStream);
+
+        // create an sequence of strings
+        QName stringIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "string", CorbaConstants.NP_WSDL_CORBA);
+        QName seqIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "sequence", CorbaConstants.NP_WSDL_CORBA);
+
+        Sequence seqType = new Sequence();
+        seqType.setBound(data.length);
+        seqType.setElemtype(stringIdlType);        
+        // name and respoitory ID of the sequence are not needed for this test
+
+        // build the object holder for a sequence.
+        TypeCode seqTC = orb.create_sequence_tc(data.length, orb.get_primitive_tc(TCKind.tk_string));
+        CorbaObjectHolder obj = new CorbaObjectHolder(new QName("Seq"), seqIdlType, seqTC, seqType);
+        for (int i = 0; i < data.length; ++i) {
+            CorbaObjectHolder nestedObj =
+                new CorbaObjectHolder(new QName("item"), stringIdlType, 
+                                      orb.get_primitive_tc(TCKind.tk_string), null);
+            obj.addNestedObject(nestedObj);
+        }
+        
+        reader.readSequence(obj);
+        int length = obj.getNestedObjects().size();
+        for (int i = 0; i < length; ++i) {
+            assertTrue(obj.getNestedObject(i).getValueData().equals(data[i]));
+        }
+    }
+    
+    public void testReadStruct() {        
+        Buffer buf = new Buffer();
+        OutputStream oStream = new OutputStream(buf);
+
+        // create the following struct
+        // struct TestStruct {
+        //     long member1;
+        //     string member2;
+        //     boolean member3;
+        // }
+        int member1 = 12345;
+        String member2 = "54321";
+        boolean member3 = true;
+        
+        oStream.write_long(member1);
+        oStream.write_string(member2);
+        oStream.write_boolean(member3);
+
+        InputStream iStream = oStream.create_input_stream();
+        CorbaObjectReader reader = new CorbaObjectReader(iStream);
+        
+        QName structIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "struct", CorbaConstants.NP_WSDL_CORBA);
+        QName longIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "long", CorbaConstants.NP_WSDL_CORBA);
+        QName stringIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "string", CorbaConstants.NP_WSDL_CORBA);
+        QName boolIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "boolean", CorbaConstants.NP_WSDL_CORBA);
+        
+        Struct structType = new Struct();
+        structType.setName("TestStruct");
+        MemberType m1 = new MemberType();
+        m1.setIdltype(longIdlType);
+        m1.setName("member1");
+        MemberType m2 = new MemberType();
+        m2.setIdltype(stringIdlType);
+        m2.setName("member2");
+        MemberType m3 = new MemberType();
+        m3.setIdltype(boolIdlType);
+        m3.setName("member3");
+        structType.getMember().add(m1);
+        structType.getMember().add(m2);
+        structType.getMember().add(m3);
+
+        // build the object holder
+        StructMember[] structMembers = new StructMember[3];
+        structMembers[0] = new StructMember("member1", orb.get_primitive_tc(TCKind.tk_long), null);
+        structMembers[1] = new StructMember("member2", orb.get_primitive_tc(TCKind.tk_string), null);
+        structMembers[2] = new StructMember("member3", orb.get_primitive_tc(TCKind.tk_boolean), null);
+        TypeCode structTC = orb.create_struct_tc("IDL:org.apache.yoko.TestStruct/1.0", "TestStruct", 
+                                                 structMembers);
+        CorbaObjectHolder obj = new CorbaObjectHolder(new QName("TestStruct"), structIdlType, 
+                                                      structTC, structType);
+        obj.addNestedObject(
+                new CorbaObjectHolder(new QName("member1"), longIdlType, structMembers[0].type, null));
+        obj.addNestedObject(
+                new CorbaObjectHolder(new QName("member2"), stringIdlType, structMembers[1].type, null));
+        obj.addNestedObject(
+                new CorbaObjectHolder(new QName("member3"), boolIdlType, structMembers[2].type, null));
+        
+        reader.readStruct(obj);
+        
+        List<CorbaObjectHolder> nestedObjs = obj.getNestedObjects();
+        assertTrue(new Integer(nestedObjs.get(0).getValueData()).intValue() == member1);
+        assertTrue(nestedObjs.get(1).getValueData().equals(member2));
+        assertTrue(new Boolean(nestedObjs.get(2).getValueData()).booleanValue() == member3);
+    }
+  
+    public void testReadException() {
+        Buffer buf = new Buffer();
+        OutputStream oStream = new OutputStream(buf);
+
+        // create the following exception
+        // exception TestExcept {
+        //     short code;
+        //     string message;
+        // }
+        short code = 12345;
+        String message = "54321";
+        
+        oStream.write_string("IDL:org.apache.yoko.TestException/1.0");
+        oStream.write_short(code);
+        oStream.write_string(message);
+
+        InputStream iStream = oStream.create_input_stream();
+        CorbaObjectReader reader = new CorbaObjectReader(iStream);
+        
+        QName exceptIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "exception", CorbaConstants.NP_WSDL_CORBA);
+        QName shortIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "short", CorbaConstants.NP_WSDL_CORBA);
+        QName stringIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "string", CorbaConstants.NP_WSDL_CORBA);
+        
+        Exception exceptType = new Exception();
+        exceptType.setName("TestException");
+        MemberType m1 = new MemberType();
+        m1.setIdltype(shortIdlType);
+        m1.setName("code");
+        MemberType m2 = new MemberType();
+        m2.setIdltype(stringIdlType);
+        m2.setName("message");
+        exceptType.getMember().add(m1);
+        exceptType.getMember().add(m2);
+
+        // build the object holder
+        StructMember[] exceptMembers = new StructMember[2];
+        exceptMembers[0] = new StructMember("code", orb.get_primitive_tc(TCKind.tk_short), null);
+        exceptMembers[1] = new StructMember("message", orb.get_primitive_tc(TCKind.tk_string), null);
+        TypeCode exceptTC = orb.create_exception_tc("IDL:org.apache.yoko.TestException/1.0", "TestException", 
+                                                    exceptMembers);
+        CorbaObjectHolder obj = new CorbaObjectHolder(new QName("TestException"), exceptIdlType, 
+                                                      exceptTC, exceptType);
+        obj.addNestedObject(
+                new CorbaObjectHolder(new QName("code"), shortIdlType, exceptMembers[0].type, null));
+        obj.addNestedObject(
+                new CorbaObjectHolder(new QName("message"), stringIdlType, exceptMembers[1].type, null));
+        
+        reader.readException(obj);
+        
+        List<CorbaObjectHolder> nestedObjs = obj.getNestedObjects();
+        assertTrue(new Short(nestedObjs.get(0).getValueData()).shortValue() == code);
+        assertTrue(nestedObjs.get(1).getValueData().equals(message));
+    } 
 }

Modified: incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectWriterTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectWriterTest.java?rev=423166&r1=423165&r2=423166&view=diff
==============================================================================
--- incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectWriterTest.java (original)
+++ incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaObjectWriterTest.java Tue Jul 18 11:18:22 2006
@@ -20,14 +20,28 @@
 
 import java.math.BigInteger;
 
+import javax.xml.namespace.QName;
+
 import junit.framework.TestCase;
 
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
 import org.omg.CORBA.portable.InputStream;
+
+import org.apache.schemas.yoko.bindings.corba.Array;
+import org.apache.schemas.yoko.bindings.corba.Exception;
+import org.apache.schemas.yoko.bindings.corba.MemberType;
+import org.apache.schemas.yoko.bindings.corba.Sequence;
+import org.apache.schemas.yoko.bindings.corba.Struct;
 import org.apache.yoko.orb.CORBA.OutputStream;
 import org.apache.yoko.orb.OCI.Buffer;
 
 public class CorbaObjectWriterTest extends TestCase {
 
+    private ORB orb;
+    
     public CorbaObjectWriterTest(String arg0) {
         super(arg0);
     }
@@ -36,10 +50,26 @@
         junit.textui.TestRunner.run(CorbaObjectWriterTest.class);
     }
     
-    protected void setUp() throws Exception {
+    protected void setUp() throws java.lang.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-Binding");
+        orb = ORB.init(new String[0], props);
     }
     
+    protected void tearDown() throws java.lang.Exception {
+        if (orb != null) {
+            try {
+                orb.destroy();
+            } catch (java.lang.Exception ex) {
+                // Do nothing.  Throw an Exception?
+            }
+        }
+    }
+
     public void testWriteBoolean() {
         Buffer buf = new Buffer();
         OutputStream oStream = new OutputStream(buf);
@@ -207,5 +237,200 @@
         InputStream iStream = oStream.create_input_stream();
         String s = iStream.read_wstring();
         assertTrue(s.equals(wstringValue));
+    }
+    
+    public void testWriteArray() {
+        int data[] = { 1, 1, 2, 3, 5, 8, 13, 21 };
+        
+        // create an array of longs
+        QName longIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "long", CorbaConstants.NP_WSDL_CORBA);
+        QName arrayIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "array", CorbaConstants.NP_WSDL_CORBA);
+        Array arrayType = new Array();
+        arrayType.setBound(data.length);
+        arrayType.setElemtype(longIdlType);
+        // name and respoitory ID of the array are not needed for this test
+
+        // build the object holder for an array.
+        TypeCode arrayTC = orb.create_array_tc(data.length, orb.get_primitive_tc(TCKind.tk_long));
+        CorbaObjectHolder obj = new CorbaObjectHolder(new QName("Array"), arrayIdlType, arrayTC, arrayType);
+        for (int i = 0; i < data.length; ++i) {
+            CorbaObjectHolder nestedObj =
+                new CorbaObjectHolder(new QName("item"), longIdlType, 
+                                      orb.get_primitive_tc(TCKind.tk_long), null);
+            nestedObj.setObjectValueFromData(Integer.toString(data[i]));
+            obj.addNestedObject(nestedObj);
+        }
+
+        Buffer buf = new Buffer();
+        OutputStream oStream = new OutputStream(buf);
+        CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
+        writer.writeArray(obj);
+        
+        InputStream iStream = oStream.create_input_stream();
+        for (int i = 0; i < data.length; ++i) {
+            int val = iStream.read_long();
+            assertTrue(val == data[i]);
+        }
+    }
+    
+    public void testWriteSequence() {
+        String data[] = { "one", "one", "two", "three", "five", "eight", "thirteen", "twenty-one" };
+        
+        // create an sequence of strings
+        QName stringIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "string", CorbaConstants.NP_WSDL_CORBA);
+        QName seqIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "sequence", CorbaConstants.NP_WSDL_CORBA);
+
+        Sequence seqType = new Sequence();
+        seqType.setBound(data.length);
+        seqType.setElemtype(stringIdlType);        
+        // name and respoitory ID of the sequence are not needed for this test
+
+        // build the object holder for a sequence.
+        TypeCode seqTC = orb.create_sequence_tc(data.length, orb.get_primitive_tc(TCKind.tk_string));
+        CorbaObjectHolder obj = new CorbaObjectHolder(new QName("Seq"), seqIdlType, seqTC, seqType);
+        for (int i = 0; i < data.length; ++i) {
+            CorbaObjectHolder nestedObj =
+                new CorbaObjectHolder(new QName("item"), stringIdlType, 
+                                      orb.get_primitive_tc(TCKind.tk_string), null);
+            nestedObj.setObjectValueFromData(data[i]);
+            obj.addNestedObject(nestedObj);
+        }
+        
+        Buffer buf = new Buffer();
+        OutputStream oStream = new OutputStream(buf);
+        CorbaObjectWriter writer =  new CorbaObjectWriter(oStream);
+        writer.writeSequence(obj);
+        
+        InputStream iStream = oStream.create_input_stream();
+        int length = iStream.read_long();
+        for (int i = 0; i < length; ++i) {
+            String val = iStream.read_string();
+            assertTrue(val.equals(data[i]));
+        }
+    }
+    
+    public void testWriteStruct() {
+        // create the following struct
+        // struct TestStruct {
+        //     long member1;
+        //     string member2;
+        //     boolean member3;
+        // }
+        int member1 = 12345;
+        String member2 = "54321";
+        boolean member3 = true;
+        
+        QName structIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "struct", CorbaConstants.NP_WSDL_CORBA);
+        QName longIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "long", CorbaConstants.NP_WSDL_CORBA);
+        QName stringIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "string", CorbaConstants.NP_WSDL_CORBA);
+        QName boolIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "boolean", CorbaConstants.NP_WSDL_CORBA);
+        
+        Struct structType = new Struct();
+        structType.setName("TestStruct");
+        MemberType m1 = new MemberType();
+        m1.setIdltype(longIdlType);
+        m1.setName("member1");
+        MemberType m2 = new MemberType();
+        m2.setIdltype(stringIdlType);
+        m2.setName("member2");
+        MemberType m3 = new MemberType();
+        m3.setIdltype(boolIdlType);
+        m3.setName("member3");
+        structType.getMember().add(m1);
+        structType.getMember().add(m2);
+        structType.getMember().add(m3);
+
+        // build the object holder
+        StructMember[] structMembers = new StructMember[3];
+        structMembers[0] = new StructMember("member1", orb.get_primitive_tc(TCKind.tk_long), null);
+        structMembers[1] = new StructMember("member2", orb.get_primitive_tc(TCKind.tk_string), null);
+        structMembers[2] = new StructMember("member3", orb.get_primitive_tc(TCKind.tk_boolean), null);
+        TypeCode structTC = orb.create_struct_tc("IDL:org.apache.yoko.TestStruct/1.0", "TestStruct", 
+                                                 structMembers);
+        CorbaObjectHolder obj = new CorbaObjectHolder(new QName("TestStruct"), structIdlType, 
+                                                      structTC, structType);
+        CorbaObjectHolder memberObj1 = 
+            new CorbaObjectHolder(new QName("member1"), longIdlType, structMembers[0].type, null);
+        CorbaObjectHolder memberObj2 = 
+            new CorbaObjectHolder(new QName("member2"), stringIdlType, structMembers[1].type, null);
+        CorbaObjectHolder memberObj3 = 
+            new CorbaObjectHolder(new QName("member3"), boolIdlType, structMembers[2].type, null);
+        
+        memberObj1.setObjectValueFromData(Integer.toString(member1));
+        memberObj2.setObjectValueFromData(member2);
+        memberObj3.setObjectValueFromData(Boolean.toString(member3));
+        
+        obj.addNestedObject(memberObj1);
+        obj.addNestedObject(memberObj2);
+        obj.addNestedObject(memberObj3);
+        
+        Buffer buf = new Buffer();
+        OutputStream oStream = new OutputStream(buf);
+        CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
+        writer.writeStruct(obj);
+        
+        InputStream iStream = oStream.create_input_stream();
+        int readMember1 = iStream.read_long();
+        assertTrue(readMember1 == member1);
+        String readMember2 = iStream.read_string();
+        assertTrue(readMember2.equals(member2));
+        boolean readMember3 = iStream.read_boolean();
+        assertTrue(readMember3 == member3);
+    }
+    
+    public void testWriteException() {
+        // create the following exception
+        // exception TestExcept {
+        //     short code;
+        //     string message;
+        // }
+        short code = 12345;
+        String message = "54321";
+        String reposID = "IDL:org.apache.yoko.TestException/1.0";
+        
+        QName exceptIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "exception", CorbaConstants.NP_WSDL_CORBA);
+        QName shortIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "short", CorbaConstants.NP_WSDL_CORBA);
+        QName stringIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "string", CorbaConstants.NP_WSDL_CORBA);
+        
+        Exception exceptType = new Exception();
+        exceptType.setName("TestException");
+        exceptType.setRepositoryID(reposID);
+        MemberType m1 = new MemberType();
+        m1.setIdltype(shortIdlType);
+        m1.setName("code");
+        MemberType m2 = new MemberType();
+        m2.setIdltype(stringIdlType);
+        m2.setName("message");
+        exceptType.getMember().add(m1);
+        exceptType.getMember().add(m2);
+
+        // build the object holder
+        StructMember[] exceptMembers = new StructMember[2];
+        exceptMembers[0] = new StructMember("code", orb.get_primitive_tc(TCKind.tk_short), null);
+        exceptMembers[1] = new StructMember("message", orb.get_primitive_tc(TCKind.tk_string), null);
+        TypeCode exceptTC = orb.create_exception_tc(reposID, "TestException", exceptMembers);
+        CorbaObjectHolder obj = new CorbaObjectHolder(new QName("TestException"), exceptIdlType, 
+                                                      exceptTC, exceptType);
+        
+        CorbaObjectHolder member1 = new CorbaObjectHolder(new QName("code"), shortIdlType, exceptMembers[0].type, null);
+        member1.setObjectValueFromData(Short.toString(code));
+        CorbaObjectHolder member2 = new CorbaObjectHolder(new QName("message"), stringIdlType, exceptMembers[1].type, null);
+        member2.setObjectValueFromData(message);
+        obj.addNestedObject(member1);
+        obj.addNestedObject(member2);
+
+        Buffer buf = new Buffer();
+        OutputStream oStream = new OutputStream(buf);
+        CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
+        writer.writeException(obj);
+
+        InputStream iStream = oStream.create_input_stream();
+        
+        String readId = iStream.read_string();
+        assertTrue(readId.equals(reposID));
+        short readCode = iStream.read_short();
+        assertTrue(readCode == code);
+        String readMessage = iStream.read_string();
+        assertTrue(readMessage.equals(message));
     }
 }

Modified: incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaStreamableTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaStreamableTest.java?rev=423166&r1=423165&r2=423166&view=diff
==============================================================================
--- incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaStreamableTest.java (original)
+++ incubator/yoko/trunk/bindings/src/test/java/org/apache/yoko/bindings/corba/CorbaStreamableTest.java Tue Jul 18 11:18:22 2006
@@ -48,7 +48,7 @@
         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");
+        props.put("yoko.orb.id", "Yoko-Binding");
         orb = ORB.init(new String[0], props);
     }