public virtual void test_from_ByteSource_alreadyArrayByteSource()
        {
            ArrayByteSource @base = ArrayByteSource.copyOf(new sbyte[] { 1, 2, 3 });
            ArrayByteSource test  = ArrayByteSource.from(@base);

            assertSame(test, @base);
        }
        public virtual void test_from_SupplierExceptionOnRead()
        {
            CheckedSupplier <Stream> supplier = () =>
            {
                return(new InputStreamAnonymousInnerClass(this));
            };

            assertThrows(typeof(UncheckedIOException), () => ArrayByteSource.from(supplier));
        }
        public virtual void test_from_SupplierExceptionOnCreate()
        {
            CheckedSupplier <Stream> supplier = () =>
            {
                throw new IOException();
            };

            assertThrows(typeof(UncheckedIOException), () => ArrayByteSource.from(supplier));
        }
        public virtual void test_from_ByteSource()
        {
            ByteSource      source = ByteSource.wrap(new sbyte[] { 1, 2, 3 });
            ArrayByteSource test   = ArrayByteSource.from(source);

            assertEquals(test.size(), 3);
            assertEquals(test.read()[0], 1);
            assertEquals(test.read()[1], 2);
            assertEquals(test.read()[2], 3);
        }
        public virtual void test_from_Supplier()
        {
            ByteSource      source = ByteSource.wrap(new sbyte[] { 1, 2, 3 });
            ArrayByteSource test   = ArrayByteSource.from(() => source.openStream());

            assertEquals(test.size(), 3);
            assertEquals(test.read()[0], 1);
            assertEquals(test.read()[1], 2);
            assertEquals(test.read()[2], 3);
        }