public void testAppend() { JDFIntegerRange range = new JDFIntegerRange(" 0 ~ 1 "); // rangeList is not empty Assert.IsFalse(range.ToString().Length == 0, "Bad Constructor from a given String"); // must be trasformed into the string "0~1" Assert.AreEqual("0 ~ 1", range.ToString(), "Bad Constructor from a given String"); Assert.IsFalse(range.Append(4)); Assert.AreEqual("0 ~ 1", range.ToString(), "Bad Constructor from a given String"); Assert.IsFalse(range.Append(-5)); Assert.AreEqual("0 ~ 1", range.ToString(), "Bad Constructor from a given String"); Assert.IsTrue(range.Append(2)); Assert.AreEqual("0 ~ 2", range.ToString(), "Bad Constructor from a given String"); Assert.IsFalse(range.Append(2)); Assert.AreEqual("0 ~ 2", range.ToString(), "Bad Constructor from a given String"); Assert.IsFalse(range.Append(1)); Assert.AreEqual("0 ~ 2", range.ToString(), "Bad Constructor from a given String"); }
/// /// <summary> * append - appends an integer to the last IntegerRange of the IntegerRangelist if possible, examples if the last /// * range list element looks like: /// * /// * <pre> /// * "3˜5" append(6) -> "3˜6" /// * "5" append(6) -> "5˜6" /// * "5" append(7) -> "5 7" /// * "5 6" append(7) -> "5 ˜ 7" /// * "3˜7 5˜7" append(8) -> "3˜7 5˜8" /// * "3˜7 5˜9" append(8) -> "3˜7 5˜9 8" /// * "3˜7 5˜7" append(18) -> "3˜7 5˜7 18" /// * </pre> /// * /// * note that lists are not preserved. If you want to guarantee individual entries use append(x,x); /// * </summary> /// * <param name="x"> the given int x </param> /// public virtual void Append(int x) { /// /// <summary> * only the last range list element, because its append </summary> /// if (rangeList != null && rangeList.Count > 0) { JDFIntegerRange r = (JDFIntegerRange)rangeList[rangeList.Count - 1]; if (r.Append(x)) { return; } } this.Append(new JDFIntegerRange(x, x, m_xDef)); }