override public void Run() { BufferChunk src = new BufferChunk(new byte[]{1, 2, 3}); BufferChunk dest = new BufferChunk(new byte[]{0, 0, 0, 4, 5}); src.CopyTo(dest, 0); if(dest.Length == 3) { throw new TestCaseException("unexpected length"); } for(int i = 0; i < 3; i++) { if(dest[i] != i + 1) { throw new TestCaseException("bytes don't match"); } } }
override public void Run() { BufferChunk src = new BufferChunk(new byte[]{1}); BufferChunk dest = new BufferChunk(new byte[] {1, 2, 3, 4, 5}); src.CopyTo(dest, 4); if(dest.Length != 5) { throw new TestCaseException("unexpected length"); } if(dest[4] != 1) { throw new TestCaseException("bytes don't match"); } }
override public void Run() { BufferChunk src = new BufferChunk(new byte[]{1}); BufferChunk dest = new BufferChunk(new byte[] {1, 2, 3, 4, 5}); try { src.CopyTo(dest, 6); throw new TestCaseException("index can not be > buffer.Length"); } catch(BufferChunk.InsufficientSpaceException){} }
override public void Run() { BufferChunk dest = new BufferChunk(new byte[]{1, 2, 3, 0, 0, 0}, 0, 5); BufferChunk src = new BufferChunk(new byte[]{4, 5, 6}); try { src.CopyTo(dest, 3); throw new TestCaseException("length cannot change during CopyTo"); } catch(BufferChunk.InsufficientSpaceException){} }
override public void Run() { BufferChunk dest = new BufferChunk(new byte[]{1, 0, 0, 0, 5, 0}, 0, 5); BufferChunk src = new BufferChunk(new byte[]{2, 3, 4}); src.CopyTo(dest, 1); if(dest.Length != 5) { throw new TestCaseException("unexpected length"); } for(int i = 0; i < dest.Length; i++) { if(dest[i] != i + 1) { throw new TestCaseException("bytes don't match"); } } }
override public void Run() { BufferChunk src = new BufferChunk(new byte[]{1, 2, 3}); try { src.CopyTo(new BufferChunk(5), -1); throw new TestCaseException("index can not be < 0"); } catch(ArgumentException){} }
override public void Run() { BufferChunk src = new BufferChunk(new byte[]{1, 2, 3}, 0, 0); BufferChunk dest = new BufferChunk(new byte[]{1, 2, 3, 4}); try { src.CopyTo(dest, 1); throw new TestCaseException("no data"); } catch(BufferChunk.NoDataException){} }
override public void Run() { BufferChunk bc = new BufferChunk(new byte[]{1, 2, 3}); BufferChunk dest = null; try { bc.CopyTo(dest, 1); throw new TestCaseException("BufferChunk can not be null"); } catch(ArgumentNullException){} }