import pytest from hypothesis import given from rithm.integer import Int from tests.utils import IntWithBuiltin from . import strategies @given(strategies.ints_with_builtins, strategies.small_ints) def test_connection_with_divmod( base_with_builtin: IntWithBuiltin, shift: Int ) -> None: base, base_builtin = base_with_builtin try: result = base_builtin << shift except (MemoryError, OverflowError, ValueError) as exception: with pytest.raises(type(exception)): base << shift else: assert result == base << shift