package org.jacorb.test.orb; /* * JacORB - a free Java ORB * * Copyright (C) 1997-2014 Gerald Brose / The JacORB Team. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.io.IOException; import org.jacorb.test.harness.ORBTestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** * Test CDRInputStream and CDROutputStream. * */ public class CDRIOTest extends ORBTestCase { private OutputStream os; @Before public void setUp() throws Exception { os = orb.create_output_stream(); } @After public void tearDown() throws Exception { os.close(); os = null; } @Test public void testLong () throws IOException { int pre = 123; os.write_long(pre); InputStream is = os.create_input_stream(); assertTrue(is.available() > 0); int post = is.read_long(); assertEquals(pre, post); } @Test public void testString() throws IOException { String pre = "abc"; os.write_string(pre); InputStream is = os.create_input_stream(); assertTrue(is.available() > 0); String post = is.read_string(); assertEquals(pre, post); } @Test public void testWString() throws IOException { String pre = "abc"; os.write_wstring(pre); InputStream is = os.create_input_stream(); assertTrue(is.available() > 0); String post = is.read_wstring(); assertEquals(pre, post); } @Test public void testBoolean() throws IOException { boolean pre = true; os.write_boolean(pre); InputStream is = os.create_input_stream(); assertTrue(is.available() > 0); boolean post = is.read_boolean(); assertEquals(pre, post); } @Test public void testShort() throws IOException { short pre = 234; os.write_short(pre); InputStream is = os.create_input_stream(); assertTrue(is.available() > 0); short post = is.read_short(); assertEquals(pre, post); } @Test public void testReadString() throws IOException { os.write_string("abcde"); InputStream is = os.create_input_stream(); assertTrue(is.available() > 0); byte[] buf = new byte[is.available()]; int readAmount = is.read(buf); assertTrue(readAmount > 0); os = orb.create_output_stream(); os.write_octet_array(buf, 0, buf.length); InputStream is2 = os.create_input_stream(); assertEquals("abcde", is2.read_string()); } @Test public void testRead() throws IOException { os.write_string("thing-one"); os.write_long(123); os.write_string("thing-two"); InputStream is = os.create_input_stream(); assertTrue(is.available() > 0); assertEquals("thing-one", is.read_string()); assertEquals(123, is.read_long()); assertTrue(is.available() > 0); byte[] buf = new byte[is.available()]; int readAmount = is.read(buf); assertTrue(readAmount > 0); os = orb.create_output_stream(); os.write_octet_array(buf, 0, buf.length); InputStream is2 = os.create_input_stream(); assertEquals("thing-two", is2.read_string()); } @Test public void testMultiple() throws IOException { os.write_boolean(true); os.write_char('a'); os.write_double(1.234); os.write_float(2.345f); os.write_long(987); os.write_longlong(876); os.write_short((short)13); os.write_string("hi"); os.write_ulong(765); os.write_ulonglong(567); os.write_ushort((short)23); os.write_wchar('b'); os.write_wstring("bye"); InputStream is = os.create_input_stream(); assertTrue(is.available() > 0); assertEquals(is.read_boolean(), true); assertEquals(is.read_char(), 'a'); assertEquals(is.read_double(), 1.234, 0.001); assertEquals(is.read_float(), 2.345f, 0.001f); assertEquals(is.read_long(), 987); assertEquals(is.read_longlong(), 876); assertEquals(is.read_short(), (short)13); assertEquals(is.read_string(), "hi"); assertEquals(is.read_ulong(), 765); assertEquals(is.read_ulonglong(), 567); assertEquals(is.read_ushort(), (short)23); assertEquals(is.read_wchar(), 'b'); assertEquals(is.read_wstring(), "bye"); } }