def test_managing_constraints(): """Test adding/removing constraints. """ s = Solver() v = Variable('foo') c1 = v >= 1 c2 = v <= 0 with pytest.raises(TypeError): s.hasConstraint(object()) with pytest.raises(TypeError): s.addConstraint(object()) with pytest.raises(TypeError): s.removeConstraint(object()) assert not s.hasConstraint(c1) s.addConstraint(c1) assert s.hasConstraint(c1) with pytest.raises(DuplicateConstraint): s.addConstraint(c1) with pytest.raises(UnknownConstraint): s.removeConstraint(c2) with pytest.raises(UnsatisfiableConstraint): s.addConstraint(c2) s.removeConstraint(c1) assert not s.hasConstraint(c1) s.addConstraint(c2) assert s.hasConstraint(c2) s.reset() assert not s.hasConstraint(c2)
def test_managing_constraints(): """Test adding/removing constraints. """ s = Solver() v = Variable('foo') v2 = Variable('bar') c1 = v >= 1 c2 = v <= 0 c3 = ((v2 >= 1) and (v2 <= 0)) with pytest.raises(TypeError): s.hasConstraint(object()) with pytest.raises(TypeError): s.addConstraint(object()) with pytest.raises(TypeError): s.removeConstraint(object()) assert not s.hasConstraint(c1) s.addConstraint(c1) assert s.hasConstraint(c1) with pytest.raises(DuplicateConstraint): s.addConstraint(c1) with pytest.raises(UnknownConstraint): s.removeConstraint(c2) with pytest.raises(UnsatisfiableConstraint): s.addConstraint(c2) # XXX need to find how to get an invalid symbol from choose subject # with pytest.raises(UnsatisfiableConstraint): # s.addConstraint(c3) s.removeConstraint(c1) assert not s.hasConstraint(c1) s.addConstraint(c2) assert s.hasConstraint(c2) s.reset() assert not s.hasConstraint(c2)