MCPcopy Create free account
hub / github.com/apache/fory / test_buffer

Function test_buffer

python/pyfory/tests/test_buffer.py:84–131  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

82
83
84def test_buffer():
85 buffer = Buffer.allocate(8)
86 buffer.write_bool(True)
87 buffer.write_int8(-1)
88 buffer.write_int8(2**7 - 1)
89 buffer.write_int8(-(2**7))
90 buffer.write_int16(2**15 - 1)
91 buffer.write_int16(-(2**15))
92 buffer.write_int32(2**31 - 1)
93 buffer.write_int32(-(2**31))
94 buffer.write_int64(2**63 - 1)
95 buffer.write_int64(-(2**63))
96 buffer.write_float(1.0)
97 buffer.write_float(-1.0)
98 buffer.write_double(1.0)
99 buffer.write_double(-1.0)
100 buffer.write_bytes(b"") # write empty buffer
101 buffer.write_buffer(b"") # write empty buffer
102 binary = b"b" * 100
103 buffer.write_bytes(binary)
104 buffer.write_bytes_and_size(binary)
105 print(f"buffer size {buffer.size()}, writer_index {buffer.get_writer_index()}")
106 new_buffer = Buffer(buffer.get_bytes(0, buffer.get_writer_index()))
107 assert new_buffer.read_bool() is True
108 assert new_buffer.read_int8() == -1
109 assert new_buffer.read_int8() == 2**7 - 1
110 assert new_buffer.read_int8() == -(2**7)
111 assert new_buffer.read_int16() == 2**15 - 1
112 assert new_buffer.read_int16() == -(2**15)
113 assert new_buffer.read_int32() == 2**31 - 1
114 assert new_buffer.read_int32() == -(2**31)
115 assert new_buffer.read_int64() == 2**63 - 1
116 assert new_buffer.read_int64() == -(2**63)
117 assert new_buffer.read_float() == 1.0
118 assert new_buffer.read_float() == -1.0
119 assert new_buffer.read_double() == 1.0
120 assert new_buffer.read_double() == -1.0
121 assert new_buffer.read_bytes(0) == b""
122 assert new_buffer.read_bytes(0) == b""
123 assert new_buffer.read_bytes(len(binary)) == binary
124 assert new_buffer.read_bytes_and_size() == binary
125 assert new_buffer.hex() == new_buffer.to_pybytes().hex()
126 assert new_buffer[:10].to_pybytes() == new_buffer.to_pybytes()[:10]
127 assert new_buffer[5:30].to_pybytes() == new_buffer.to_pybytes()[5:30]
128 assert new_buffer[-30:].to_pybytes() == new_buffer.to_pybytes()[-30:]
129 for i in range(len(new_buffer)):
130 assert new_buffer[i] == new_buffer.to_pybytes()[i]
131 assert new_buffer[-i + 1] == new_buffer.to_pybytes()[-i + 1]
132
133
134def test_empty_buffer():

Callers

nothing calls this directly

Calls 15

read_int8Method · 0.95
read_int16Method · 0.95
read_int32Method · 0.95
read_int64Method · 0.95
read_floatMethod · 0.95
read_doubleMethod · 0.95
read_bytesMethod · 0.95
hexMethod · 0.95
get_bytesMethod · 0.80
allocateMethod · 0.65
BufferClass · 0.50
write_boolMethod · 0.45

Tested by

no test coverage detected