### Question:
IsoTypeReader { public static double readFixedPoint0230(ByteBuffer bb) { byte[] bytes = new byte[4]; bb.get(bytes); int result = 0; result |= ((bytes[0] << 24) & 0xFF000000); result |= ((bytes[1] << 16) & 0xFF0000); result |= ((bytes[2] << 8) & 0xFF00); result |= ((bytes[3]) & 0xFF); return ((double) result) / (1 << 30); }  static long readUInt32BE(ByteBuffer bb); static long readUInt32(ByteBuffer bb); static int readUInt24(ByteBuffer bb); static int readUInt16(ByteBuffer bb); static int readUInt16BE(ByteBuffer bb); static int readUInt8(ByteBuffer bb); static int byte2int(byte b); static String readString(ByteBuffer byteBuffer); static String readString(ByteBuffer byteBuffer, int length); static long readUInt64(ByteBuffer byteBuffer); static double readFixedPoint1616(ByteBuffer bb); static double readFixedPoint0230(ByteBuffer bb); static float readFixedPoint88(ByteBuffer bb); static String readIso639(ByteBuffer bb); static String read4cc(ByteBuffer bb); static long readUInt48(ByteBuffer byteBuffer);  }### Answer:
@Test public void testFixedPoint0230() throws IOException { final double fixedPointTest1 = 1.13; final double fixedPointTest2 = -1.13; ByteBuffer bb = ByteBuffer.allocate(8); IsoTypeWriter.writeFixedPoint0230(bb, fixedPointTest1); IsoTypeWriter.writeFixedPoint0230(bb, fixedPointTest2); ((Buffer)bb).rewind(); Assert.assertEquals("fixedPointTest1", fixedPointTest1, IsoTypeReader.readFixedPoint0230(bb), 1d / 65536); Assert.assertEquals("fixedPointTest2", fixedPointTest2, IsoTypeReader.readFixedPoint0230(bb), 1d / 65536); }