Exemplo n.º 1
0
        public void AddTest()
        {
            ByteString bytes = new ByteString();

              byte[] arr = new byte[10];
              for (int i = 0;i < 10;i++) {
            arr[i] = (byte)i;
              }
              bytes.Add(arr);
              Assert.AreEqual(bytes.Length,10);

              byte[] arr2 = new byte[15];
              for (int i = 0;i < 15;i++) {
            arr2[i] = (byte)(i + 10);
              }
              bytes.Add(arr2);
              Assert.AreEqual(bytes.Length,25);

              Assert.AreEqual(bytes.GetValue(5),(byte)5);
              Assert.AreEqual(bytes.GetValue(12),(byte)12);

              byte[] r = bytes.ToArray();
              Assert.AreEqual(r.Length,25);
              for (int i = 0;i < 25;i++) {
            Assert.AreEqual(r[i],(byte)i);
              }
        }
Exemplo n.º 2
0
 public void AddOther()
 {
     var a = new ByteString(new byte[4]{1,2,3,4});
       var b = new ByteString(new byte[4]{1,2,3,4});
       Assert.AreEqual(a.Length,4);
       Assert.AreEqual(b.Length,4);
       a.Add(b);
       Assert.AreEqual(a.Length,8);
       Assert.AreEqual(b.Length,4);
 }
Exemplo n.º 3
0
        public void GetBytesTest(int begin,int end)
        {
            ByteString bytes = new ByteString();

              byte[] arr = new byte[10];
              for (int i = 0;i < 10;i++) {
            arr[i] = (byte)i;
              }
              bytes.Add(arr);
              Assert.AreEqual(bytes.Length,10);

              byte[] arr2 = new byte[15];
              for (int i = 0;i < 15;i++) {
            arr2[i] = (byte)(i + 10);
              }
              bytes.Add(arr2);
              Assert.AreEqual(bytes.Length,25);

              byte[] part = bytes.GetBytes(begin,end);

              int l = end - begin;
              Assert.AreEqual(part.Length,l);
              for (int i = 0;i < l;i++) {
            Assert.AreEqual(part[i],(byte)(i + begin));
              }
        }
Exemplo n.º 4
0
 public ByteString Drop(int n)
 {
     var newBytes = new ByteString();
       foreach (PartBytes bytes in _bytesList) {
     if (n == 0) {
       newBytes.Add(bytes);
     } else {
       var l = bytes.Length;
       if (l <= n) {
     // skip
     n -= l;
       } else {
     //byte[] left = new byte[l - n];
     //Array.Copy(bytes,n,left,0,l - n);
     var left = new PartBytes(bytes,n,l - n);
     newBytes.Add(left);
     n = 0;
       }
     }
       }
       return newBytes;
 }