Пример #1
0
def test_long_char_string():
    orig_len = 65532
    to_serialize = ''.join(itertools.repeat('a', orig_len))
    ser = t.LongCharacterString(to_serialize).serialize()
    assert len(ser) == orig_len + len(orig_len.to_bytes(2, 'little'))

    deserialize_extra = b'1234'
    to_deserialize = orig_len.to_bytes(2, 'little') + b''.join(
        itertools.repeat(b'b', orig_len)) + deserialize_extra
    des, rest = t.LongCharacterString.deserialize(to_deserialize)
    assert len(des) == orig_len
    assert rest == deserialize_extra
Пример #2
0
def test_long_char_string():
    orig_len = 65532
    to_serialize = "".join(itertools.repeat("a", orig_len))
    ser = t.LongCharacterString(to_serialize).serialize()
    assert len(ser) == orig_len + len(orig_len.to_bytes(2, "little"))

    deserialize_extra = b"1234"
    to_deserialize = (orig_len.to_bytes(2, "little") +
                      b"".join(itertools.repeat(b"b", orig_len)) +
                      deserialize_extra)
    des, rest = t.LongCharacterString.deserialize(to_deserialize)
    assert len(des) == orig_len
    assert rest == deserialize_extra
Пример #3
0
def test_long_char_string_too_long():
    to_serialize = "".join(itertools.repeat("a", 65535))
    with pytest.raises(ValueError):
        t.LongCharacterString(to_serialize).serialize()