public void IsEmptyTest() { string str = "s"; var emptyChain = new ComplexChain(string.Empty); Assert.True(emptyChain.IsEmpty()); emptyChain.Concat(str); Assert.True(!emptyChain.IsEmpty()); emptyChain.ClearAt(0); Assert.True(emptyChain.IsEmpty()); }
/// <summary> /// The concat. /// </summary> /// <param name="sequence"> /// The sequence. /// </param> /// <returns> /// The <see cref="ComplexChain"/>. /// </returns> public ComplexChain Concat(ComplexChain sequence) { if (sequence.IsEmpty()) { return this; } ComplexChain temp = Clone(); ClearAndSetNewLength(GetLength() + sequence.GetLength()); for (int i = 0; i < temp.GetLength(); i++) { this[i] = temp[i]; } for (int j = 0; j < sequence.GetLength(); j++) { this[j + temp.GetLength()] = sequence[j]; } return this; }