1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski package ifc.io; 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski import java.util.Vector; 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski import lib.MultiMethodTest; 29*b1cdbd2cSJim Jagielski import lib.Status; 30*b1cdbd2cSJim Jagielski import lib.StatusException; 31*b1cdbd2cSJim Jagielski 32*b1cdbd2cSJim Jagielski import com.sun.star.io.XDataInputStream; 33*b1cdbd2cSJim Jagielski import com.sun.star.io.XDataOutputStream; 34*b1cdbd2cSJim Jagielski import com.sun.star.uno.UnoRuntime; 35*b1cdbd2cSJim Jagielski import com.sun.star.uno.XInterface; 36*b1cdbd2cSJim Jagielski 37*b1cdbd2cSJim Jagielski /** 38*b1cdbd2cSJim Jagielski * Testing <code>com.sun.star.io.XDataInputStream</code> 39*b1cdbd2cSJim Jagielski * interface methods: 40*b1cdbd2cSJim Jagielski * <ul> 41*b1cdbd2cSJim Jagielski * <li><code>readBoolean()</code></li> 42*b1cdbd2cSJim Jagielski * <li><code>readByte()</code></li> 43*b1cdbd2cSJim Jagielski * <li><code>readChar()</code></li> 44*b1cdbd2cSJim Jagielski * <li><code>readShort()</code></li> 45*b1cdbd2cSJim Jagielski * <li><code>readLong()</code></li> 46*b1cdbd2cSJim Jagielski * <li><code>readHyper()</code></li> 47*b1cdbd2cSJim Jagielski * <li><code>readFloat()</code></li> 48*b1cdbd2cSJim Jagielski * <li><code>readDouble()</code></li> 49*b1cdbd2cSJim Jagielski * <li><code>readUTF()</code></li> 50*b1cdbd2cSJim Jagielski * </ul> <p> 51*b1cdbd2cSJim Jagielski * This test needs the following object relations : 52*b1cdbd2cSJim Jagielski * <ul> 53*b1cdbd2cSJim Jagielski * <li> <code>'StreamData'</code> (of type <code>Vector</code>): 54*b1cdbd2cSJim Jagielski * vector of data for comparing with data that obtained from stream </li> 55*b1cdbd2cSJim Jagielski * <li> <code>'StreamWriter'</code> (of type <code>XDataOutputStream</code>): 56*b1cdbd2cSJim Jagielski * a possiblitiy to write values to the stream. </li> 57*b1cdbd2cSJim Jagielski * <ul> <p> 58*b1cdbd2cSJim Jagielski * After test completion object environment has to be recreated. 59*b1cdbd2cSJim Jagielski * @see com.sun.star.io.XDataInputStream 60*b1cdbd2cSJim Jagielski * @see java.util.Vector 61*b1cdbd2cSJim Jagielski */ 62*b1cdbd2cSJim Jagielski public class _XDataInputStream extends MultiMethodTest { 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski public XDataInputStream oObj = null; 65*b1cdbd2cSJim Jagielski public XDataOutputStream oStream = null; 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski // values that are written 68*b1cdbd2cSJim Jagielski private boolean writeBoolean; 69*b1cdbd2cSJim Jagielski private byte writeByte; 70*b1cdbd2cSJim Jagielski private char writeChar; 71*b1cdbd2cSJim Jagielski private double writeDouble; 72*b1cdbd2cSJim Jagielski private float writeFloat; 73*b1cdbd2cSJim Jagielski private long writeHyper; 74*b1cdbd2cSJim Jagielski private int writeLong; 75*b1cdbd2cSJim Jagielski private short writeShort; 76*b1cdbd2cSJim Jagielski private String writeUTF; 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski /** 80*b1cdbd2cSJim Jagielski * Retrieves relations. From relation 'StreamData' extracts 81*b1cdbd2cSJim Jagielski * data of different types and fills the appropriate variables. 82*b1cdbd2cSJim Jagielski * @throws StatusException If one of relations not found. 83*b1cdbd2cSJim Jagielski */ before()84*b1cdbd2cSJim Jagielski public void before(){ 85*b1cdbd2cSJim Jagielski 86*b1cdbd2cSJim Jagielski XInterface x = (XInterface)tEnv.getObjRelation("StreamWriter") ; 87*b1cdbd2cSJim Jagielski oStream = (XDataOutputStream)UnoRuntime.queryInterface( 88*b1cdbd2cSJim Jagielski XDataOutputStream.class, x); 89*b1cdbd2cSJim Jagielski Vector data = (Vector) tEnv.getObjRelation("StreamData") ; 90*b1cdbd2cSJim Jagielski if (data == null || oStream == null) { 91*b1cdbd2cSJim Jagielski throw new StatusException(Status.failed("Object relation not found.")); 92*b1cdbd2cSJim Jagielski } 93*b1cdbd2cSJim Jagielski 94*b1cdbd2cSJim Jagielski // extract data from vector 95*b1cdbd2cSJim Jagielski Object dataElem = null ; 96*b1cdbd2cSJim Jagielski for (int i = 0; i < data.size(); i++) { 97*b1cdbd2cSJim Jagielski dataElem = data.get(i) ; 98*b1cdbd2cSJim Jagielski 99*b1cdbd2cSJim Jagielski if (dataElem instanceof Boolean) { 100*b1cdbd2cSJim Jagielski writeBoolean = ((Boolean)dataElem).booleanValue(); 101*b1cdbd2cSJim Jagielski } else 102*b1cdbd2cSJim Jagielski if (dataElem instanceof Byte) { 103*b1cdbd2cSJim Jagielski writeByte = ((Byte)dataElem).byteValue(); 104*b1cdbd2cSJim Jagielski } else 105*b1cdbd2cSJim Jagielski if (dataElem instanceof Character) { 106*b1cdbd2cSJim Jagielski writeChar = ((Character)dataElem).charValue(); 107*b1cdbd2cSJim Jagielski } else 108*b1cdbd2cSJim Jagielski if (dataElem instanceof Short) { 109*b1cdbd2cSJim Jagielski writeShort = ((Short)dataElem).shortValue(); 110*b1cdbd2cSJim Jagielski } else 111*b1cdbd2cSJim Jagielski if (dataElem instanceof Integer) { 112*b1cdbd2cSJim Jagielski writeLong = ((Integer)dataElem).intValue(); 113*b1cdbd2cSJim Jagielski } else 114*b1cdbd2cSJim Jagielski if (dataElem instanceof Long) { 115*b1cdbd2cSJim Jagielski writeHyper = ((Long)dataElem).longValue(); 116*b1cdbd2cSJim Jagielski } else 117*b1cdbd2cSJim Jagielski if (dataElem instanceof Float) { 118*b1cdbd2cSJim Jagielski writeFloat = ((Float)dataElem).floatValue(); 119*b1cdbd2cSJim Jagielski } else 120*b1cdbd2cSJim Jagielski if (dataElem instanceof Double) { 121*b1cdbd2cSJim Jagielski writeDouble = ((Double)dataElem).doubleValue(); 122*b1cdbd2cSJim Jagielski } else 123*b1cdbd2cSJim Jagielski if (dataElem instanceof String) { 124*b1cdbd2cSJim Jagielski writeUTF = (String)dataElem; 125*b1cdbd2cSJim Jagielski } 126*b1cdbd2cSJim Jagielski } 127*b1cdbd2cSJim Jagielski } 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim Jagielski /** 130*b1cdbd2cSJim Jagielski * First writes a value to outStream then reads it from input. <p> 131*b1cdbd2cSJim Jagielski * 132*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if read and written values are equal. <p> 133*b1cdbd2cSJim Jagielski */ _readBoolean()134*b1cdbd2cSJim Jagielski public void _readBoolean() { 135*b1cdbd2cSJim Jagielski boolean res = true ; 136*b1cdbd2cSJim Jagielski try { 137*b1cdbd2cSJim Jagielski oStream.writeBoolean(writeBoolean); 138*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 139*b1cdbd2cSJim Jagielski e.printStackTrace(log); 140*b1cdbd2cSJim Jagielski throw new StatusException("Can't write data to the stream", e); 141*b1cdbd2cSJim Jagielski } 142*b1cdbd2cSJim Jagielski byte readElem; 143*b1cdbd2cSJim Jagielski try { 144*b1cdbd2cSJim Jagielski readElem = oObj.readBoolean(); 145*b1cdbd2cSJim Jagielski res = ((readElem != 0) == writeBoolean); 146*b1cdbd2cSJim Jagielski 147*b1cdbd2cSJim Jagielski if (!res) 148*b1cdbd2cSJim Jagielski log.println("Must be read " + 149*b1cdbd2cSJim Jagielski writeBoolean + 150*b1cdbd2cSJim Jagielski " but was read " + (readElem != 0)) ; 151*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 152*b1cdbd2cSJim Jagielski log.println("Couldn't read Boolean from stream"); 153*b1cdbd2cSJim Jagielski e.printStackTrace(log); 154*b1cdbd2cSJim Jagielski res = false; 155*b1cdbd2cSJim Jagielski } 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski tRes.tested("readBoolean()", res) ; 158*b1cdbd2cSJim Jagielski } 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski /** 161*b1cdbd2cSJim Jagielski * First writes a value to outStream then reads it from input. <p> 162*b1cdbd2cSJim Jagielski * 163*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if read and written values are equal. <p> 164*b1cdbd2cSJim Jagielski */ _readByte()165*b1cdbd2cSJim Jagielski public void _readByte() { 166*b1cdbd2cSJim Jagielski boolean res = true ; 167*b1cdbd2cSJim Jagielski try { 168*b1cdbd2cSJim Jagielski oStream.writeByte(writeByte); 169*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 170*b1cdbd2cSJim Jagielski e.printStackTrace(log); 171*b1cdbd2cSJim Jagielski throw new StatusException("Can't write data to the stream", e); 172*b1cdbd2cSJim Jagielski } 173*b1cdbd2cSJim Jagielski byte readElem; 174*b1cdbd2cSJim Jagielski try { 175*b1cdbd2cSJim Jagielski readElem = oObj.readByte() ; 176*b1cdbd2cSJim Jagielski res = (readElem == writeByte); 177*b1cdbd2cSJim Jagielski 178*b1cdbd2cSJim Jagielski if (!res) 179*b1cdbd2cSJim Jagielski log.println("Must be read " + 180*b1cdbd2cSJim Jagielski writeByte + 181*b1cdbd2cSJim Jagielski " but was read " + readElem); 182*b1cdbd2cSJim Jagielski } catch(com.sun.star.io.IOException e) { 183*b1cdbd2cSJim Jagielski log.println("Couldn't read Byte from stream"); 184*b1cdbd2cSJim Jagielski e.printStackTrace(log); 185*b1cdbd2cSJim Jagielski res = false; 186*b1cdbd2cSJim Jagielski } 187*b1cdbd2cSJim Jagielski 188*b1cdbd2cSJim Jagielski tRes.tested("readByte()", res) ; 189*b1cdbd2cSJim Jagielski } 190*b1cdbd2cSJim Jagielski 191*b1cdbd2cSJim Jagielski /** 192*b1cdbd2cSJim Jagielski * First writes a value to outStream then reads it from input. <p> 193*b1cdbd2cSJim Jagielski * 194*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if read and written values are equal. <p> 195*b1cdbd2cSJim Jagielski */ _readChar()196*b1cdbd2cSJim Jagielski public void _readChar() { 197*b1cdbd2cSJim Jagielski boolean res = true ; 198*b1cdbd2cSJim Jagielski try { 199*b1cdbd2cSJim Jagielski oStream.writeChar(writeChar); 200*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 201*b1cdbd2cSJim Jagielski e.printStackTrace(log); 202*b1cdbd2cSJim Jagielski throw new StatusException("Can't write data to the stream", e); 203*b1cdbd2cSJim Jagielski } 204*b1cdbd2cSJim Jagielski char readElem; 205*b1cdbd2cSJim Jagielski try { 206*b1cdbd2cSJim Jagielski readElem = oObj.readChar() ; 207*b1cdbd2cSJim Jagielski res = (readElem == writeChar); 208*b1cdbd2cSJim Jagielski 209*b1cdbd2cSJim Jagielski if (!res) 210*b1cdbd2cSJim Jagielski log.println("Must be read " + 211*b1cdbd2cSJim Jagielski writeChar + 212*b1cdbd2cSJim Jagielski " but was read " + readElem) ; 213*b1cdbd2cSJim Jagielski } catch( com.sun.star.io.IOException e ) { 214*b1cdbd2cSJim Jagielski log.println("Couldn't read Char from stream"); 215*b1cdbd2cSJim Jagielski e.printStackTrace(log); 216*b1cdbd2cSJim Jagielski res = false; 217*b1cdbd2cSJim Jagielski } 218*b1cdbd2cSJim Jagielski tRes.tested("readChar()", res); 219*b1cdbd2cSJim Jagielski } 220*b1cdbd2cSJim Jagielski 221*b1cdbd2cSJim Jagielski /** 222*b1cdbd2cSJim Jagielski * First writes a value to outStream then reads it from input. <p> 223*b1cdbd2cSJim Jagielski * 224*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if read and written values are equal. <p> 225*b1cdbd2cSJim Jagielski */ _readShort()226*b1cdbd2cSJim Jagielski public void _readShort() { 227*b1cdbd2cSJim Jagielski boolean res = true ; 228*b1cdbd2cSJim Jagielski try { 229*b1cdbd2cSJim Jagielski oStream.writeShort(writeShort); 230*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 231*b1cdbd2cSJim Jagielski e.printStackTrace(log); 232*b1cdbd2cSJim Jagielski throw new StatusException("Can't write data to the stream", e); 233*b1cdbd2cSJim Jagielski } 234*b1cdbd2cSJim Jagielski short readElem; 235*b1cdbd2cSJim Jagielski try { 236*b1cdbd2cSJim Jagielski readElem = oObj.readShort() ; 237*b1cdbd2cSJim Jagielski res = (readElem == writeShort); 238*b1cdbd2cSJim Jagielski 239*b1cdbd2cSJim Jagielski if (!res) 240*b1cdbd2cSJim Jagielski log.println("Must be read " + 241*b1cdbd2cSJim Jagielski writeShort + 242*b1cdbd2cSJim Jagielski " but was read " + readElem) ; 243*b1cdbd2cSJim Jagielski } catch( com.sun.star.io.IOException e ) { 244*b1cdbd2cSJim Jagielski log.println("Couldn't read Short from stream"); 245*b1cdbd2cSJim Jagielski e.printStackTrace(log); 246*b1cdbd2cSJim Jagielski res = false; 247*b1cdbd2cSJim Jagielski } 248*b1cdbd2cSJim Jagielski tRes.tested("readShort()", res); 249*b1cdbd2cSJim Jagielski } 250*b1cdbd2cSJim Jagielski 251*b1cdbd2cSJim Jagielski /** 252*b1cdbd2cSJim Jagielski * First writes a value to outStream then reads it from input. <p> 253*b1cdbd2cSJim Jagielski * 254*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if read and written values are equal. <p> 255*b1cdbd2cSJim Jagielski */ _readLong()256*b1cdbd2cSJim Jagielski public void _readLong() { 257*b1cdbd2cSJim Jagielski try { 258*b1cdbd2cSJim Jagielski oStream.writeLong(writeLong); 259*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 260*b1cdbd2cSJim Jagielski e.printStackTrace(log); 261*b1cdbd2cSJim Jagielski throw new StatusException("Can't write data to the stream", e); 262*b1cdbd2cSJim Jagielski } 263*b1cdbd2cSJim Jagielski boolean res = true ; 264*b1cdbd2cSJim Jagielski int readElem; 265*b1cdbd2cSJim Jagielski try { 266*b1cdbd2cSJim Jagielski readElem = oObj.readLong() ; 267*b1cdbd2cSJim Jagielski res = (readElem == writeLong); 268*b1cdbd2cSJim Jagielski 269*b1cdbd2cSJim Jagielski if (!res) 270*b1cdbd2cSJim Jagielski log.println("Must be read " + 271*b1cdbd2cSJim Jagielski writeLong + 272*b1cdbd2cSJim Jagielski " but was read " + readElem) ; 273*b1cdbd2cSJim Jagielski } catch( com.sun.star.io.IOException e ) { 274*b1cdbd2cSJim Jagielski log.println("Couldn't read Long from stream"); 275*b1cdbd2cSJim Jagielski e.printStackTrace(log); 276*b1cdbd2cSJim Jagielski res = false; 277*b1cdbd2cSJim Jagielski } 278*b1cdbd2cSJim Jagielski tRes.tested("readLong()", res); 279*b1cdbd2cSJim Jagielski } 280*b1cdbd2cSJim Jagielski 281*b1cdbd2cSJim Jagielski /** 282*b1cdbd2cSJim Jagielski * First writes a value to outStream then reads it from input. <p> 283*b1cdbd2cSJim Jagielski * 284*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if read and written values are equal. <p> 285*b1cdbd2cSJim Jagielski */ _readHyper()286*b1cdbd2cSJim Jagielski public void _readHyper() { 287*b1cdbd2cSJim Jagielski boolean res = true ; 288*b1cdbd2cSJim Jagielski try { 289*b1cdbd2cSJim Jagielski oStream.writeHyper(writeHyper); 290*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 291*b1cdbd2cSJim Jagielski e.printStackTrace(log); 292*b1cdbd2cSJim Jagielski throw new StatusException("Can't write data to the stream", e); 293*b1cdbd2cSJim Jagielski } 294*b1cdbd2cSJim Jagielski long readElem; 295*b1cdbd2cSJim Jagielski try { 296*b1cdbd2cSJim Jagielski readElem = oObj.readHyper() ; 297*b1cdbd2cSJim Jagielski res = (readElem == writeHyper); 298*b1cdbd2cSJim Jagielski 299*b1cdbd2cSJim Jagielski if (!res) 300*b1cdbd2cSJim Jagielski log.println("Must be read " + 301*b1cdbd2cSJim Jagielski writeHyper + 302*b1cdbd2cSJim Jagielski " but was read " + readElem) ; 303*b1cdbd2cSJim Jagielski } catch( com.sun.star.io.IOException e ) { 304*b1cdbd2cSJim Jagielski log.println("Couldn't read Hyper from stream"); 305*b1cdbd2cSJim Jagielski e.printStackTrace(log); 306*b1cdbd2cSJim Jagielski res = false; 307*b1cdbd2cSJim Jagielski } 308*b1cdbd2cSJim Jagielski tRes.tested("readHyper()", res); 309*b1cdbd2cSJim Jagielski } 310*b1cdbd2cSJim Jagielski 311*b1cdbd2cSJim Jagielski /** 312*b1cdbd2cSJim Jagielski * First writes a value to outStream then reads it from input. <p> 313*b1cdbd2cSJim Jagielski * 314*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if read and written values are equal. <p> 315*b1cdbd2cSJim Jagielski */ _readFloat()316*b1cdbd2cSJim Jagielski public void _readFloat() { 317*b1cdbd2cSJim Jagielski boolean res = true ; 318*b1cdbd2cSJim Jagielski try { 319*b1cdbd2cSJim Jagielski oStream.writeFloat(writeFloat); 320*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 321*b1cdbd2cSJim Jagielski e.printStackTrace(log); 322*b1cdbd2cSJim Jagielski throw new StatusException("Can't write data to the stream", e); 323*b1cdbd2cSJim Jagielski } 324*b1cdbd2cSJim Jagielski float readElem; 325*b1cdbd2cSJim Jagielski try { 326*b1cdbd2cSJim Jagielski readElem = oObj.readFloat() ; 327*b1cdbd2cSJim Jagielski res = (readElem == writeFloat); 328*b1cdbd2cSJim Jagielski 329*b1cdbd2cSJim Jagielski if (!res) 330*b1cdbd2cSJim Jagielski log.println("Must be read " + 331*b1cdbd2cSJim Jagielski writeFloat + 332*b1cdbd2cSJim Jagielski " but was read " + readElem) ; 333*b1cdbd2cSJim Jagielski } catch( com.sun.star.io.IOException e ) { 334*b1cdbd2cSJim Jagielski log.println("Couldn't read Float from stream"); 335*b1cdbd2cSJim Jagielski e.printStackTrace(log); 336*b1cdbd2cSJim Jagielski res = false; 337*b1cdbd2cSJim Jagielski } 338*b1cdbd2cSJim Jagielski tRes.tested("readFloat()", res); 339*b1cdbd2cSJim Jagielski } 340*b1cdbd2cSJim Jagielski 341*b1cdbd2cSJim Jagielski /** 342*b1cdbd2cSJim Jagielski * First writes a value to outStream then reads it from input. <p> 343*b1cdbd2cSJim Jagielski * 344*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if read and written values are equal. <p> 345*b1cdbd2cSJim Jagielski */ _readDouble()346*b1cdbd2cSJim Jagielski public void _readDouble() { 347*b1cdbd2cSJim Jagielski boolean res = true ; 348*b1cdbd2cSJim Jagielski try { 349*b1cdbd2cSJim Jagielski oStream.writeDouble(writeDouble); 350*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 351*b1cdbd2cSJim Jagielski e.printStackTrace(log); 352*b1cdbd2cSJim Jagielski throw new StatusException("Can't write data to the stream", e); 353*b1cdbd2cSJim Jagielski } 354*b1cdbd2cSJim Jagielski double readElem; 355*b1cdbd2cSJim Jagielski try { 356*b1cdbd2cSJim Jagielski readElem = oObj.readDouble() ; 357*b1cdbd2cSJim Jagielski res = (readElem == writeDouble); 358*b1cdbd2cSJim Jagielski 359*b1cdbd2cSJim Jagielski if (!res) 360*b1cdbd2cSJim Jagielski log.println("Must be read " + 361*b1cdbd2cSJim Jagielski writeDouble + 362*b1cdbd2cSJim Jagielski " but was read " + readElem) ; 363*b1cdbd2cSJim Jagielski } catch( com.sun.star.io.IOException e ) { 364*b1cdbd2cSJim Jagielski log.println("Couldn't read Double from stream"); 365*b1cdbd2cSJim Jagielski e.printStackTrace(log); 366*b1cdbd2cSJim Jagielski res = false; 367*b1cdbd2cSJim Jagielski } 368*b1cdbd2cSJim Jagielski tRes.tested("readDouble()", res); 369*b1cdbd2cSJim Jagielski } 370*b1cdbd2cSJim Jagielski 371*b1cdbd2cSJim Jagielski /** 372*b1cdbd2cSJim Jagielski * First writes a value to outStream then reads it from input. <p> 373*b1cdbd2cSJim Jagielski * 374*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if read and written values are equal. <p> 375*b1cdbd2cSJim Jagielski */ _readUTF()376*b1cdbd2cSJim Jagielski public void _readUTF() { 377*b1cdbd2cSJim Jagielski boolean res = true ; 378*b1cdbd2cSJim Jagielski try { 379*b1cdbd2cSJim Jagielski oStream.writeUTF(writeUTF); 380*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 381*b1cdbd2cSJim Jagielski e.printStackTrace(log); 382*b1cdbd2cSJim Jagielski throw new StatusException("Can't write data to the stream", e); 383*b1cdbd2cSJim Jagielski } 384*b1cdbd2cSJim Jagielski String readElem; 385*b1cdbd2cSJim Jagielski try { 386*b1cdbd2cSJim Jagielski readElem = oObj.readUTF() ; 387*b1cdbd2cSJim Jagielski res = writeUTF.equals(readElem) ; 388*b1cdbd2cSJim Jagielski 389*b1cdbd2cSJim Jagielski if (!res) 390*b1cdbd2cSJim Jagielski log.println("Must be read '" + 391*b1cdbd2cSJim Jagielski writeUTF + 392*b1cdbd2cSJim Jagielski "' but was read '" + readElem + "'") ; 393*b1cdbd2cSJim Jagielski } catch( com.sun.star.io.IOException e ) { 394*b1cdbd2cSJim Jagielski log.println("Couldn't read String from stream"); 395*b1cdbd2cSJim Jagielski e.printStackTrace(log); 396*b1cdbd2cSJim Jagielski res = false; 397*b1cdbd2cSJim Jagielski } 398*b1cdbd2cSJim Jagielski tRes.tested("readUTF()", res); 399*b1cdbd2cSJim Jagielski } 400*b1cdbd2cSJim Jagielski 401*b1cdbd2cSJim Jagielski /** 402*b1cdbd2cSJim Jagielski * Forces object environment recreation. 403*b1cdbd2cSJim Jagielski */ after()404*b1cdbd2cSJim Jagielski public void after() { 405*b1cdbd2cSJim Jagielski try { 406*b1cdbd2cSJim Jagielski oStream.flush(); 407*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.NotConnectedException e) { 408*b1cdbd2cSJim Jagielski e.printStackTrace(log); 409*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.BufferSizeExceededException e) { 410*b1cdbd2cSJim Jagielski e.printStackTrace(log); 411*b1cdbd2cSJim Jagielski } catch (com.sun.star.io.IOException e) { 412*b1cdbd2cSJim Jagielski e.printStackTrace(log); 413*b1cdbd2cSJim Jagielski } 414*b1cdbd2cSJim Jagielski this.disposeEnvironment() ; 415*b1cdbd2cSJim Jagielski } 416*b1cdbd2cSJim Jagielski } 417*b1cdbd2cSJim Jagielski 418