Ejemplo n.º 1
0
 def test_parameter_iterable(self):
     par = Parameter("test")
     par.add_interval(3, 4.5, True)
     par.add_option(7, True)
     self.assertFalse(par.is_legal([0.5, 3.2, 5.0]))
     self.assertTrue(par.is_legal([3.1, 4.2, 4.4]))
     self.assertTrue(par.is_legal([3.1, 4.2, 4.4, 7]))
Ejemplo n.º 2
0
    def test_parameter_multiple_options(self):
        par = Parameter("test")
        par.add_option(9.8, True)

        self.assertRaises(ValueError, par.add_option, 3, False)
        self.assertFalse(par.is_legal(-831.0))
        self.assertTrue(par.is_legal(9.8))
        self.assertFalse(par.is_legal(3))
Ejemplo n.º 3
0
    def test_clear_intervals(self):  # FIXME
        par = Parameter("test")
        par.add_interval(3, 4.5, True)
        # self.assertEqual(par.__intervals, [[3, 4.5]]) #FIXME

        par.clear_intervals()
        par.add_option(9.7, True)
        #        self.assertEqual(par.__options, [9.7])
        par.clear_options()
Ejemplo n.º 4
0
    def test_parameter_legal_option_bool(self):
        par = Parameter("test")
        par.add_option(True, True)

        self.assertFalse(par.is_legal(10))
        self.assertFalse(par.is_legal(9.8))
        self.assertTrue(par.is_legal(True))
        self.assertFalse(par.is_legal("A"))
        self.assertFalse(par.is_legal(38))
Ejemplo n.º 5
0
    def test_parameter_illegal_interval_plus_legal_option(self):
        par = Parameter("test")
        par.add_interval(None, 8.5, False)  # minus infinite to 8.5
        par.add_option(5, True)

        self.assertFalse(par.is_legal(-831.0))
        self.assertFalse(par.is_legal(8.5))
        self.assertTrue(par.is_legal(5.0))
        self.assertTrue(par.is_legal(10.0))
        self.assertTrue(par.is_legal(11.0))
Ejemplo n.º 6
0
    def test_parameter_legal_option_int_and_float(self):
        par = Parameter("test")
        par.add_option(38, True)
        par.add_option(9.8, True)

        self.assertFalse(par.is_legal(10))
        self.assertTrue(par.is_legal(9.8))
        self.assertFalse(par.is_legal(True))
        self.assertFalse(par.is_legal("A"))
        self.assertTrue(par.is_legal(38))
Ejemplo n.º 7
0
    def test_parameter_legal_option_string(self):
        par = Parameter("test")
        par.add_option(["B", "A"], True)

        self.assertFalse(par.is_legal(10))
        self.assertFalse(par.is_legal(9.8))
        self.assertFalse(par.is_legal(True))
        self.assertTrue(par.is_legal("A"))
        self.assertTrue(par.is_legal("B"))
        self.assertFalse(par.is_legal("C"))
        self.assertFalse(par.is_legal(38))
Ejemplo n.º 8
0
    def test_parameter_legal_option_fromlist(self):
        par = Parameter("test")
        par.add_option([9, 8, 38], True)

        self.assertFalse(par.is_legal(10))
        self.assertFalse(par.is_legal(9.8))
        self.assertFalse(par.is_legal(True))
        self.assertFalse(par.is_legal("A"))
        self.assertTrue(par.is_legal(38))
        self.assertTrue(par.is_legal(38.0))
        self.assertTrue(par.is_legal(8))
Ejemplo n.º 9
0
    def test_parameter_illegal_interval_plus_illegal_option(self):
        par = Parameter("test")
        par.add_interval(None, 8.5, False)  # minus infinite to 8.5
        par.add_option(
            5, False)  # this is stupid, already accounted in the interval
        par.add_option(11, False)

        self.assertFalse(par.is_legal(-831.0))
        self.assertFalse(par.is_legal(8.5))  # illegal because closed interval
        self.assertFalse(par.is_legal(5.0))
        self.assertTrue(par.is_legal(10.0))
        self.assertFalse(par.is_legal(11.0))
Ejemplo n.º 10
0
    def test_parameter_get_options(self):
        """
        Ensure get_options returns the options as required
        """
        par = Parameter("test")
        par.add_interval(None, 8.5, False)  # minus infinite to 8.5
        par.add_option(
            5, True)  # this is stupid, already accounted in the interval
        par.add_option(11, True)

        retrieved_options = par.get_options()

        self.assertEqual(len(retrieved_options), 2)
        self.assertEqual(retrieved_options[0], 5.0)
        self.assertEqual(retrieved_options[1], 11.0)
        self.assertTrue(par.get_options_are_legal())
Ejemplo n.º 11
0
 def test_print(self):
     par = Parameter("test")
     par.add_interval(3, 4.5, True)
     par.add_option(9.8, True)
     print(par)
Ejemplo n.º 12
0
 def test_print_legal_interval(self):
     par = Parameter("test")
     par.add_interval(3, 4.5, True)
     par.add_option(9.8, True)
     par.print_parameter_constraints()
Ejemplo n.º 13
0
 def test_values_different_types(self):
     par = Parameter("test")
     par.add_option(9.8, True)
     with pytest.raises(TypeError):
         par.add_option(True, True)