Port mtproto from grammers

This commit is contained in:
Lonami Exo
2023-07-09 21:16:55 +02:00
parent 9636ef35c1
commit 269ee4f05f
35 changed files with 1747 additions and 57 deletions

View File

@@ -47,3 +47,13 @@ def test_generated_object(obj: Serializable) -> None:
assert bytes(obj)[:4] == struct.pack("<I", obj.constructor_id())
assert type(obj)._read_from(Reader(bytes(obj)[4:])) == obj
assert Reader(bytes(obj)).read_serializable(type(obj)) == obj
def test_repeated_read() -> None:
reader = Reader(bytes(range(8)))
assert reader.read(4) == bytes(range(4))
assert reader.read(4) == bytes(range(4, 8))
reader = Reader(bytes(range(8)))
assert reader.read_fmt("4b", 4) == tuple(range(4))
assert reader.read_fmt("4b", 4) == tuple(range(4, 8))