override public void Run() { BufferChunk bc = new BufferChunk(new byte[]{1, 2, 3, 4, 5}, 1, 4); BufferChunk ret = bc.NextBufferChunk(2); for(int i = 0; i < 2; i++) { if(bc[i] != i + 4) { throw new TestCaseException("bytes don't match"); } } }
override public void Run() { BufferChunk bc = new BufferChunk(new byte[]{1, 2, 3, 4, 5}, 1, 4); BufferChunk ret = bc.NextBufferChunk(2); if(bc.Length != 2) { throw new TestCaseException("unexpected index"); } }
override public void Run() { BufferChunk bc = new BufferChunk(new byte[]{1, 2, 3, 0, 0}, 0, 3); try { BufferChunk ret = bc.NextBufferChunk(4); throw new TestCaseException("length cannot be > this.Length"); } catch(BufferChunk.InsufficientDataException){} }
override public void Run() { BufferChunk bc = new BufferChunk(new byte[]{1, 2, 3, 0, 0}, 0, 3); BufferChunk ret = bc.NextBufferChunk(3); }
override public void Run() { BufferChunk bc = new BufferChunk(new byte[]{1, 2, 3}); try { BufferChunk ret = bc.NextBufferChunk(0); throw new TestCaseException("no valid data"); } catch(BufferChunk.NoDataException){} }
override public void Run() { BufferChunk bc = new BufferChunk(new byte[]{1, 2, 3}); try { BufferChunk ret = bc.NextBufferChunk(-1); throw new TestCaseException("length cannot be < 0"); } catch(ArgumentException){} }