public void ParseConstraintsSection_multipleConstraints() { ConstraintsSection section = new ConstraintsSection(); section.Content = "x[0] <= 0;\nx[1] >= 1;"; section.Parse(); Assert.AreEqual(2, section.Constraints.Count); Assert.AreEqual("x[0]", section.Constraints[0].Lhs.Trim()); Assert.AreEqual("0", section.Constraints[0].Rhs.Trim()); Assert.AreEqual(ConstraintType.LessEqual, section.Constraints[0].Type); Assert.AreEqual("x[1]", section.Constraints[1].Lhs.Trim()); Assert.AreEqual("1", section.Constraints[1].Rhs.Trim()); Assert.AreEqual(ConstraintType.GreaterEqual, section.Constraints[1].Type); }
public void ParseConstraintsSection_invalid() { ConstraintsSection section = new ConstraintsSection(); section.Content = "x[0] <= 0"; TestUtils.ExpectThrow(() => section.Parse()); section.Content = "x[0] <= 0; x[1] <= 0"; TestUtils.ExpectThrow(() => section.Parse()); section.Content = "x[0] 0;"; TestUtils.ExpectThrow(() => section.Parse()); section.Content = "x[0] <= 0; ; x[1] <= 0;"; TestUtils.ExpectThrow(() => section.Parse()); }
public void ParseConstraintsSection_singleConstraint() { ConstraintsSection section = new ConstraintsSection(); section.Content = "x[0] <= 0;"; section.Parse(); Assert.AreEqual(1, section.Constraints.Count); Assert.AreEqual("x[0]", section.Constraints[0].Lhs.Trim()); Assert.AreEqual("0", section.Constraints[0].Rhs.Trim()); Assert.AreEqual(ConstraintType.LessEqual, section.Constraints[0].Type); section.Content = "x[0] + x[1] + a == c + d;"; section.Parse(); Assert.AreEqual(1, section.Constraints.Count); Assert.AreEqual("x[0] + x[1] + a", section.Constraints[0].Lhs.Trim()); Assert.AreEqual("c + d", section.Constraints[0].Rhs.Trim()); Assert.AreEqual(ConstraintType.Equality, section.Constraints[0].Type); }