Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 9s
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from cpl.core.utils.number import Number
|
|
|
|
|
|
def test_is_number():
|
|
assert Number.is_number(10) is True
|
|
assert Number.is_number(3.14) is True
|
|
assert Number.is_number("42") is True
|
|
assert Number.is_number("3.14") is True
|
|
assert Number.is_number("-10") is True
|
|
assert Number.is_number("+5.5") is True
|
|
assert Number.is_number("abc") is False
|
|
assert Number.is_number("") is False
|
|
assert Number.is_number(None) is False
|
|
assert Number.is_number(True) is False
|
|
|
|
|
|
def test_to_number():
|
|
assert Number.to_number("42") == 42
|
|
assert Number.to_number("3.14") == 3.14
|
|
assert Number.to_number(10) == 10
|
|
assert Number.to_number(3.14) == 3.14
|
|
assert Number.to_number("-7") == -7
|
|
assert Number.to_number("+8.2") == 8.2
|
|
|
|
# Optional: define how errors behave
|
|
try:
|
|
Number.to_number("abc")
|
|
except ValueError:
|
|
pass
|
|
else:
|
|
assert False, "Expected ValueError for non-numeric input"
|
|
|
|
try:
|
|
Number.to_number(None)
|
|
except (TypeError, ValueError):
|
|
pass
|
|
else:
|
|
assert False, "Expected exception for None input"
|