public void ConcatenateSmallRopesToRope() { StringBuilder b = new StringBuilder(); Rope<char> rope = new Rope<char>(); for (int i = 1; i <= 1000; i++) { b.Append(i.ToString()); b.Append(' '); rope.AddRange(CharRope.Create(i.ToString() + " ")); } Assert.AreEqual(b.ToString(), rope.ToString()); }
public void SetBytes(int start, byte[] bytes, bool overwrite) { if (overwrite) { if (bytes.Length > buffer.Count) { buffer.AddRange(new byte[bytes.Length - buffer.Count]); } for (int i = start; i < start + bytes.Length; i++) { buffer[i] = bytes[i - start]; } } else { buffer.InsertRange(start, bytes); } }
public override void Write(char[] buffer, int index, int count) { _rope.AddRange(buffer, index, count); }