Beispiel #1
0
        public void WriteTo_Test1()
        {
            PDFIndirectObject indobj = new PDFIndirectObject(this);
            PDFStream         target = new StreamProxy(_usefilters, indobj);

            PDFIndirectObject otherobj = new PDFIndirectObject(this);

            PDFStream other = new StreamProxy(_usefilters, otherobj);

            string source = "Hello world";

            target.WriteLine(source);
            target.Flush();


            byte[] expected = target.GetStreamData();
            target.WriteTo(other);
            byte[] actual = other.GetStreamData();

            CompareByteArray(expected, actual);

            target.Dispose();
            other.Dispose();
            indobj.Dispose();
            otherobj.Dispose();
        }
Beispiel #2
0
        public void GetStreamData_Test()
        {
            MemoryStream      ms     = new MemoryStream();
            PDFIndirectObject indobj = new PDFIndirectObject(this);
            PDFStream         target = new StreamProxy(ms, _usefilters, indobj, false);

            byte[] expected = new byte[] {};
            byte[] actual;
            actual = target.GetStreamData();
            Assert.AreEqual(expected.Length, actual.Length);

            expected = new byte[] { 1, 2, 3, 4, 5 };
            target.Write(expected);
            target.Flush();

            actual = target.GetStreamData();

            Assert.AreEqual(expected.Length, actual.Length);

            for (int i = 0; i < expected.Length; i++)
            {
                Assert.AreEqual(expected[i], actual[i]);
            }

            target.Dispose();
            ms.Dispose();
            indobj.Dispose();
        }
Beispiel #3
0
        public void PDFStreamConstructor_Test()
        {
            Stream stream = null;

            IStreamFilter[]   filters = _usefilters;
            PDFIndirectObject indobj  = new PDFIndirectObject(this);
            bool ownstream            = false;

            PDFStream target;

            try
            {
                target = new StreamProxy(stream, filters, indobj, ownstream);
                Assert.Fail("No Exception thrown for a null stream");
            }
            catch (ArgumentNullException)
            {
                TestContext.WriteLine("Sucessfully caught a null reference for the stream");
            }

            stream = new MemoryStream();

            target = new StreamProxy(stream, filters, indobj, ownstream);
            Assert.AreEqual(target.IndirectObject, indobj);
            Assert.AreEqual(filters, target.Filters);

            target.Dispose();
            stream.Dispose();
            indobj.Dispose();
        }
Beispiel #4
0
        public void LeaveOpen()
        {
            var src  = new MemoryStream(new byte[] { 0, 1, 2, 3, 4, 5 });
            var dest = new StreamProxy(src, true);

            dest.Dispose();
            var bytes = new byte[3];

            Assert.That(src.Read(bytes, 0, 3), Is.EqualTo(3));
        }
Beispiel #5
0
        public void Read()
        {
            var src  = new MemoryStream(new byte[] { 0, 1, 2, 3, 4, 5 });
            var dest = new StreamProxy(src);

            var bytes = new byte[3];

            Assert.That(dest.Read(bytes, 0, 3), Is.EqualTo(3));

            dest.Dispose();
            Assert.That(() => dest.Read(bytes, 0, 3), Throws.TypeOf <NullReferenceException>());
        }
Beispiel #6
0
        public void Create()
        {
            var src  = new MemoryStream(new byte[] { 0, 1, 2, 3, 4, 5 });
            var dest = new StreamProxy(src);

            Assert.That(dest.CanRead, Is.EqualTo(src.CanRead).And.True);
            Assert.That(dest.CanSeek, Is.EqualTo(src.CanSeek).And.True);
            Assert.That(dest.CanWrite, Is.EqualTo(src.CanWrite).And.True);
            Assert.That(dest.Length, Is.EqualTo(src.Length).And.EqualTo(6));
            Assert.That(dest.Position, Is.EqualTo(src.Position).And.EqualTo(0));

            dest.Position = 3;
            Assert.That(dest.Position, Is.EqualTo(src.Position).And.EqualTo(3));

            dest.Dispose();
            dest.Dispose(); // ignore
            Assert.That(dest.CanRead, Is.False);
            Assert.That(dest.CanSeek, Is.False);
            Assert.That(dest.CanWrite, Is.False);
            Assert.That(dest.Length, Is.EqualTo(0));
            Assert.That(dest.Position, Is.EqualTo(0));
        }
Beispiel #7
0
        public void Type_Test()
        {
            IStreamFilter[]   filters = _usefilters;
            PDFIndirectObject indobj  = new PDFIndirectObject(this);
            PDFStream         target  = new StreamProxy(filters, indobj);
            PDFObjectType     actual;

            actual = target.Type;
            PDFObjectType expected = PDFObjectTypes.Stream;

            Assert.AreEqual(expected, actual);

            target.Dispose();
            indobj.Dispose();
        }
Beispiel #8
0
        public void IndirectObject_Test()
        {
            MemoryStream      ms     = new MemoryStream();
            PDFIndirectObject indobj = new PDFIndirectObject(this);
            PDFStream         target = new StreamProxy(ms, _usefilters, indobj, false);

            PDFIndirectObject actual;

            actual = target.IndirectObject;

            Assert.AreEqual(actual, indobj);

            target.Dispose();
            indobj.Dispose();
        }
Beispiel #9
0
        public void Write_Test1()
        {
            PDFIndirectObject indobj = new PDFIndirectObject(this);
            PDFStream         target = new StreamProxy(_usefilters, indobj);

            byte[] expected = new byte[] { 1, 2, 3, 4, 5 };
            target.Write(expected);
            target.Flush();
            byte[] actual = target.GetStreamData();

            CompareByteArray(expected, actual);

            target.Dispose();
            indobj.Dispose();
        }
Beispiel #10
0
        public void PDFStreamConstructor_Test1()
        {
            IStreamFilter[]   filters = _usefilters;
            PDFIndirectObject indobj  = new PDFIndirectObject(this);
            PDFStream         target  = new StreamProxy(filters, indobj);

            Assert.IsNotNull(target);

            StreamProxy proxy = (StreamProxy)target;

            Assert.IsNotNull(proxy.InnerStreamProxy());
            Assert.IsTrue(proxy.OwnsStreamProxy());

            target.Dispose();
            indobj.Dispose();
        }
Beispiel #11
0
        public void WriteLine_Test()
        {
            PDFIndirectObject indobj = new PDFIndirectObject(this);
            PDFStream         target = new StreamProxy(_usefilters, indobj);

            string source = "Hello world";

            target.WriteLine(source);
            target.Flush();

            byte[] actual   = target.GetStreamData();
            byte[] expected = System.Text.Encoding.ASCII.GetBytes(source + "\r\n");

            CompareByteArray(expected, actual);

            target.Dispose();
            indobj.Dispose();
        }
Beispiel #12
0
        public void Write_Test()
        {
            PDFIndirectObject indobj = new PDFIndirectObject(this);
            PDFStream         target = new StreamProxy(_usefilters, indobj);

            byte[] expected = new byte[] { 0, 10, 1, 2, 3, 4, 5, 34, 35 };
            target.Write(expected, 2, 5);
            target.Flush();
            byte[] actual = target.GetStreamData();

            byte[] copied = new byte[5];
            Array.Copy(expected, 2, copied, 0, 5);

            CompareByteArray(copied, actual);

            target.Dispose();
            indobj.Dispose();
        }
Beispiel #13
0
        public void Write()
        {
            var bytes = new byte[] { 0, 1, 2, 3, 4, 5, };
            var src   = new MemoryStream(bytes);
            var dest  = new StreamProxy(src);

            Assert.That(dest.Seek(1, SeekOrigin.Begin), Is.EqualTo(1L));
            dest.SetLength(4);
            dest.Write(new byte[] { 9, 9, 9 }, 0, 3);
            dest.Flush();
            Assert.That(bytes[0], Is.EqualTo((byte)0));
            Assert.That(bytes[1], Is.EqualTo((byte)9));
            Assert.That(bytes[2], Is.EqualTo((byte)9));
            Assert.That(bytes[3], Is.EqualTo((byte)9));
            Assert.That(bytes[4], Is.EqualTo((byte)4));

            dest.Dispose();
            Assert.That(() => dest.Write(new byte[] { 1 }, 0, 1), Throws.TypeOf <NullReferenceException>());
        }
Beispiel #14
0
        public void WriteData_Test()
        {
            IStreamFilter[]   filters = _usefilters;
            PDFIndirectObject indobj  = new PDFIndirectObject(this);
            PDFStream         stream  = new StreamProxy(filters, indobj);
            PDFWriter         writer  = null;

            try
            {
                stream.WriteData(writer);
                Assert.Fail("Expected an exception to be raised for PDFStream.WriteData()");
            }
            catch (NotSupportedException)
            {
                //Should raise an exception
            }
            stream.Dispose();
            indobj.Dispose();
        }
Beispiel #15
0
        public void Filters_Test()
        {
            IStreamFilter[]   filters = _usefilters;
            PDFIndirectObject indobj  = new PDFIndirectObject(this);
            PDFStream         target  = new StreamProxy(filters, indobj);

            IStreamFilter[] expected = _usefilters;
            IStreamFilter[] actual;
            target.Filters = expected;
            actual         = target.Filters;
            Assert.AreEqual(expected.Length, actual.Length);

            for (int i = 0; i < expected.Length; i++)
            {
                Assert.AreEqual(expected[i], actual[i]);
            }

            target.Dispose();
            indobj.Dispose();
        }
Beispiel #16
0
        public void Length_Test()
        {
            MemoryStream      ms     = new MemoryStream();
            PDFIndirectObject indobj = new PDFIndirectObject(this);
            PDFStream         target = new StreamProxy(ms, _usefilters, indobj, false);

            long expected = ms.Length;
            long actual   = target.Length;

            Assert.AreEqual(expected, actual);

            target.WriteLine("This is a test of the length");
            target.Write(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 });
            target.Flush();

            expected = ms.Length;
            actual   = target.Length;

            Assert.AreEqual(expected, actual);

            target.Dispose();
            indobj.Dispose();
        }