BinaryReader implements AutoCloseable { public long readUInt32() throws IOException { reader.readFully(array, 0, 4); position += 4; return Integer.toUnsignedLong(buffer.getInt(0)); } BinaryReader(InputStream stream);  BinaryReader(byte[] input); int getPosition(); int getMark(); @Override void close(); void mark(int readlimit); void reset(); void read(byte[] buffer); void read(byte[] buffer, int index, int length); boolean readBoolean(); int readUnsignedByte(); byte readByteKeepPosition(); byte readByte(); byte[] readBytes(int count); double readDouble(); byte[] readEncodedECPoint(); ECPoint readECPoint(); float readFloat(); int readInt(); int readUInt16(); long readUInt32(); long readInt64(); T readSerializable(Class<T> t); List<T> readSerializableListVarBytes(Class<T> t); List<T> readSerializableList(Class<T> t); short readShort(); byte[] readVarBytes(); byte[] readPushData(); byte[] readVarBytes(int max); long readVarInt(); long readVarInt(long max); String readPushString(); int readPushInteger(); BigInteger readPushBigInteger(); static int readUInt16(byte[] bytes);  }
@Test public void readUInt32() throws IOException { byte[] data = new byte[]{(byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff}; buildBinaryReader(data); long value = this.testBinaryReader.readUInt32(); assertThat(value, is(4_294_967_295L)); data = new byte[]{(byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00}; buildBinaryReader(data); value = this.testBinaryReader.readUInt32(); assertThat(value, is(1L)); data = new byte[]{(byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00}; buildBinaryReader(data); value = this.testBinaryReader.readUInt32(); assertThat(value, is(0L)); data = new byte[]{(byte) 0x8c, (byte) 0xae, (byte) 0x00, (byte) 0x00, (byte) 0xff}; buildBinaryReader(data); value = this.testBinaryReader.readUInt32(); assertThat(value, is(44_684L)); }