Example #1
0
 def test_init_NumericValue(self):
     v = variable()
     p = parameter()
     e = expression()
     d = data_expression()
     o = objective()
     for obj in (v, v + 1, v**2, p, p + 1, p**2, e, e + 1, e**2, d, d + 1,
                 d**2, o, o + 1, o**2):
         self.assertTrue(isinstance(noclone(obj), NumericValue))
         self.assertTrue(isinstance(noclone(obj), IIdentityExpression))
         self.assertTrue(isinstance(noclone(obj), noclone))
         self.assertIs(noclone(obj).expr, obj)
Example #2
0
 def testis_potentially_variable(self):
     e = noclone(variable())
     self.assertEqual(e.is_potentially_variable(), True)
     self.assertEqual(potentially_variable(e), True)
     e = noclone(parameter())
     self.assertEqual(e.is_potentially_variable(), False)
     self.assertEqual(potentially_variable(e), False)
     e = noclone(expression())
     self.assertEqual(e.is_potentially_variable(), True)
     self.assertEqual(potentially_variable(e), True)
     e = noclone(data_expression())
     self.assertEqual(e.is_potentially_variable(), False)
     self.assertEqual(potentially_variable(e), False)
Example #3
0
    def test_bad_weights(self):
        v = variable()
        with self.assertRaises(ValueError):
            s = sos([v], weights=[v])

        v.fix(1.0)
        with self.assertRaises(ValueError):
            s = sos([v], weights=[v])

        e = expression()
        with self.assertRaises(ValueError):
            s = sos([v], weights=[e])

        de = data_expression()
        s = sos([v], weights=[de])

        p = parameter()
        s = sos([v], weights=[p])
Example #4
0
 def test_ctype(self):
     e = data_expression()
     self.assertIs(e.ctype, Expression)
     self.assertIs(type(e).ctype, Expression)
     self.assertIs(data_expression.ctype, Expression)
Example #5
0
 def test_is_expression_type(self):
     for obj in (variable(), parameter(), objective(), expression(),
                 data_expression()):
         self.assertEqual(noclone(obj).is_expression_type(), True)