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); } }
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); }
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)); } }
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; }