Files
jeb-utils/tests/unit/utils/test_is_number.py
T

41 lines
870 B
Python

from src.jeb_utils.utils import is_number
import pytest
@pytest.mark.parametrize('string,base,expected', [
# Valid
('7', 8, True),
('0', 8, True),
('0', 36, True),
('0', 2, True),
('0', 10, True),
('1', 10, True),
('0a', 11, True),
('helloworld', 36, True),
('helloworld', 35, True),
('helloworld', 34, True),
('helloworld', 33, True),
# Invalid
# Invalid numbers
('', 10, False),
('a', 10, False),
('1a', 10, False),
('0a', 10, False),
('0a', 8, False),
('helloworld', 32, False),
('9', 8, False),
('8', 8, False),
# Invalid bases
('0', 37, False),
('0', 1, False),
('1', 1, False),
('2', 1, False),
('0', 0, False),
('1', 0, False),
('2', 0, False),
])
def test_is_number(string, base, expected):
assert is_number(string, base) == expected