def test_size_at_most_validate(max_size, num, acceptable): """ :py:meth:`SizeAtMost._validate` enforces its maximum size inclusively when encoding numbers. """ bounded = SizeAtMost(Construct(name="test"), max_size=max_size) if acceptable: assert bounded._validate(num, context=object()) else: assert not bounded._validate(num, context=object())
def test_decode(self, byte, number): ubint24 = _UBInt24(Construct(name="test")) assert ubint24._decode(byte, context=object()) == number
def bytes_adapted(self): """ A :py:class:`tls._common._constructs.BytesAdapter` that adapts a trivial :py:func:`construct.Construct`. """ return BytesAdapter(Construct(name=None))
def test_encode(self, byte, number): ubint24 = _UBInt24(Construct(name="test")) assert ubint24._encode(number, context=stub()) == byte