### Question:
CorbaObjectReader { public void readFixed(CorbaFixedHandler fixedHandler) throws CorbaBindingException { long scale = fixedHandler.getScale(); try { java.math.BigDecimal fixedValue = stream.read_fixed().movePointLeft((int)scale); fixedHandler.setValue(fixedValue); } catch (NO_IMPLEMENT ex) { Method m = null; try { m = stream.getClass().getMethod("read_fixed", new Class[] {TypeCode.class}); BigDecimal fixedValue = (BigDecimal)m.invoke(stream, new Object[] {fixedHandler.getTypeCode()}); fixedHandler.setValue(fixedValue); } catch (Throwable e1) { throw ex; } } } CorbaObjectReader(InputStream inStream); void read(CorbaObjectHandler obj); Boolean readBoolean(); Character readChar(); Character readWChar(); Byte readOctet(); Short readShort(); Integer readUShort(); Integer readLong(); long readULong(); Long readLongLong(); BigInteger readULongLong(); Float readFloat(); Double readDouble(); String readString(); String readWString(); Any readAny(); void readEnum(CorbaObjectHandler obj); void readStruct(CorbaStructHandler structObj); void readException(CorbaExceptionHandler exceptObj); void readFixed(CorbaFixedHandler fixedHandler); void readEnumDiscriminator(CorbaUnionHandler unionHandler, CorbaEnumHandler disc); void readUnion(CorbaUnionHandler unionHandler); void readArray(CorbaArrayHandler arrayObj); void readSequence(CorbaObjectHandler obj); void readObjectReference(CorbaObjectReferenceHandler objRefObj);  }### Answer:
@Test public void testReadFixed() { if (System.getProperty("java.vendor").contains("IBM")) { return; } OutputStream oStream = orb.create_output_stream(); oStream.write_fixed(new java.math.BigDecimal("12345.67").movePointRight(2)); InputStream iStream = oStream.create_input_stream(); CorbaObjectReader reader = new CorbaObjectReader(iStream); Fixed fixedType = new Fixed(); fixedType.setDigits(5); fixedType.setScale(2); QName fixedName = new QName("TestFixed"); QName fixedIdlType = new QName("corbatm:TestFixed"); TypeCode fixedTC = orb.create_fixed_tc((short)fixedType.getDigits(), (short)fixedType.getScale()); CorbaFixedHandler obj = new CorbaFixedHandler(fixedName, fixedIdlType, fixedTC, fixedType); reader.readFixed(obj); assertEquals(obj.getValue(), new java.math.BigDecimal("12345.67")); }