rustpy 0.3.0

Bindings of Rust programming language primitives.
Documentation
from typing import Type

import pytest
from hypothesis import given

from tests.utils import Integer
from . import strategies


@given(strategies.integer_types_with_values)
def test_round_trip(integer_type_with_integer: Integer) -> None:
    integer_type, integer = integer_type_with_integer

    result = integer_type.from_le_bytes(integer.to_le_bytes())

    assert result is not integer
    assert result == integer


@given(strategies.integer_types)
def test_no_bytes(integer_type: Type[Integer]) -> None:
    with pytest.raises(TypeError):
        integer_type.from_le_bytes(b'')