Example #1
0
        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");
                }
            }
        }
Example #2
0
        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");
            }
        }
Example #3
0
        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){}
        }
Example #4
0
        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){}
        }
Example #5
0
        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");
                }
            }
        }
Example #6
0
        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){}
        }
Example #7
0
        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){}
        }
Example #8
0
        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){}
        }