public void TestIsJpegCompleteAt_Complete()
        {
            byte[] encodedBytes = new byte[ENCODED_BYTES_LENGTH];
            encodedBytes[ENCODED_BYTES_LENGTH - 2] = JfifUtil.MARKER_FIRST_BYTE;
            encodedBytes[ENCODED_BYTES_LENGTH - 1] = JfifUtil.MARKER_EOI;
            IPooledByteBuffer buf          = new TrivialPooledByteBuffer(encodedBytes);
            EncodedImage      encodedImage = new EncodedImage(
                CloseableReference <IPooledByteBuffer> .of(buf, _releaser));

            encodedImage.Format = ImageFormat.JPEG;
            Assert.IsTrue(encodedImage.IsCompleteAt(ENCODED_BYTES_LENGTH));
        }
        public void TestCreatingStreamAfterClose()
        {
            IPooledByteBuffer buffer = new TrivialPooledByteBuffer(new byte[] { });

            buffer.Dispose();
            try
            {
                new PooledByteBufferInputStream(buffer);
                Assert.Fail();
            }
            catch (ArgumentException)
            {
                // This is expected
            }
        }
        public async Task TestParseMetaData_PNG()
        {
            var file = await StorageFile.GetFileFromApplicationUriAsync(
                new Uri("ms-appx:///Assets/ImagePipeline/Images/image.png"));

            using (var stream = await file.OpenReadAsync())
            {
                IPooledByteBuffer buf = new TrivialPooledByteBuffer(
                    ByteStreams.ToByteArray(stream.AsStream()));

                EncodedImage encodedImage = new EncodedImage(
                    CloseableReference <IPooledByteBuffer> .of(buf, _releaser));

                await encodedImage.ParseMetaDataAsync();

                Assert.AreEqual(ImageFormat.PNG, encodedImage.Format);
                Assert.AreEqual(800, encodedImage.Width);
                Assert.AreEqual(600, encodedImage.Height);
            }
        }
        public void Initialize()
        {
            IPooledByteBuffer buffer = new TrivialPooledByteBuffer(BYTES);

            _stream = new PooledByteBufferInputStream(buffer);
        }