Newer
Older
# imports
# standard
# local, external
# local, internal
import src.topupopt.problems.esipp.utils as utils
# *****************************************************************************
# *****************************************************************************
class TestProblemUtils:
def test_integrality(self):
# case 1
assert utils.is_integer(0, integrality_tolerance=0.1)
# case 2
assert utils.is_integer(1, integrality_tolerance=0.1)
# case 3
assert utils.is_integer(2, integrality_tolerance=0.1)
# case 4
assert utils.is_integer(-1, integrality_tolerance=0.1)
# case 5
assert not utils.is_integer(0.2, integrality_tolerance=0.1)
# case 6
assert not utils.is_integer(0.8, integrality_tolerance=0.1)
# case 7
assert utils.is_integer(0.1, integrality_tolerance=0.1)
# case 8
assert utils.is_integer(0.9, integrality_tolerance=0.1)
# case 9
assert utils.is_integer(0.49, integrality_tolerance=0.49)
# case 10
assert utils.is_integer(0.51, integrality_tolerance=0.49)
# integrality tolerance is too large
error_raised = False
try:
assert utils.is_integer(0.5, integrality_tolerance=0.5)
except ValueError:
error_raised = True
assert error_raised
error_raised = False
try:
assert utils.is_integer(1, integrality_tolerance=0.5)
except ValueError:
error_raised = True
assert error_raised
# *****************************************************************************
# *****************************************************************************