Skip to content
Snippets Groups Projects
test_esipp_utils.py 1.71 KiB
Newer Older
  • Learn to ignore specific revisions
  • Pedro Magalhães's avatar
    Pedro Magalhães committed
    # imports
    
    # standard
    
    # local, external
    
    # local, internal
    
    import src.topupopt.problems.esipp.utils as utils
    
    
    
    # *****************************************************************************
    # *****************************************************************************
    
    Pedro Magalhães's avatar
    Pedro Magalhães committed
    
    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)
    
    Pedro Magalhães's avatar
    Pedro Magalhães committed
            # case 9
            assert utils.is_integer(0.49, integrality_tolerance=0.49)
            # case 10
            assert utils.is_integer(0.51, integrality_tolerance=0.49)
    
    Pedro Magalhães's avatar
    Pedro Magalhães committed
            # 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
    
    # *****************************************************************************
    # *****************************************************************************