public void readIntoBufferWithOffsetAfterDispose()
        {
            JavaInputStreamAdapter testSubject = NewTestSubject("asdf", Encoding.ASCII);

            testSubject.Dispose();

            byte[] buff = new byte[2];

            try
            {
                testSubject.read(buff, 1, 2);
            }
            catch (Exception ex)
            {
                java.io.IOException ioe = ex as java.io.IOException;

                if (ioe != null)
                {
                    System.Exception cause = ioe.getCause();
                    Assert.IsNotNull(cause);
                    Assert.IsInstanceOfType(typeof(System.ObjectDisposedException), cause);
                }

                throw;
            }
        }
        public void readByte()
        {
            using (JavaInputStreamAdapter testSubject = NewTestSubject("asdf", Encoding.ASCII))
            {
                int b = testSubject.read();

                Assert.AreEqual((int)'a', b);

                b = testSubject.read();

                Assert.AreEqual((int)'s', b);

                b = testSubject.read();

                Assert.AreEqual((int)'d', b);

                b = testSubject.read();

                Assert.AreEqual((int)'f', b);

                b = testSubject.read();

                Assert.That(b == -1);

                b = testSubject.read();

                Assert.That(b == -1);
            }
        }
        public void readIntoBufferWithOffset()
        {
            byte[] buffer = new byte[4];

            using (JavaInputStreamAdapter testSubject = NewTestSubject("asdf", Encoding.ASCII))
            {
                int rval = testSubject.read(buffer, 1, 2);

                Assert.AreEqual(2, rval);

                Assert.AreEqual((int)'a', buffer[1]);
                Assert.AreEqual((int)'s', buffer[2]);

                rval = testSubject.read(buffer, 0, 2);

                Assert.AreEqual(2, rval);

                rval = testSubject.read(buffer);

                Assert.AreEqual(-1, rval);
            }
        }
        public void readIntoBuffer()
        {
            byte[] buffer = new byte[4];

            using (JavaInputStreamAdapter testSubject = NewTestSubject("asdf", Encoding.ASCII))
            {
                int rval = testSubject.read(buffer);

                Assert.That(rval == 4);

                Assert.AreEqual((int)'a', buffer[0]);
                Assert.AreEqual((int)'s', buffer[1]);
                Assert.AreEqual((int)'d', buffer[2]);
                Assert.AreEqual((int)'f', buffer[3]);

                rval = testSubject.read(buffer);

                Assert.That(rval == -1);

                rval = testSubject.read(buffer);

                Assert.That(rval == -1);
            }
        }