def test_ordering(self): constraint = ParameterConstraint('a <= b') self.assertEqual(constraint.affected_parameters, {'a', 'b'}) self.assertTrue(constraint.is_fulfilled(dict(a=1, b=2))) self.assertTrue(constraint.is_fulfilled(dict(a=2, b=2))) self.assertFalse(constraint.is_fulfilled(dict(a=2, b=1)))
def test_expressions(self): constraint = ParameterConstraint('Max(a, b) < a*c') self.assertEqual(constraint.affected_parameters, {'a', 'b', 'c'}) self.assertTrue(constraint.is_fulfilled(dict(a=2, b=2, c=3))) self.assertFalse(constraint.is_fulfilled(dict(a=3, b=5, c=1)))