Example #1
0
 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);
     }
 }
Example #3
0
 public override void Write(char[] buffer, int index, int count)
 {
     _rope.AddRange(buffer, index, count);
 }