Ejemplo n.º 1
0
        protected void Test_LosslessCompress_InvalidArguments()
        {
            IImageOptimizer optimizer = CreateImageOptimizer();

            Assert.IsNotNull(optimizer);

            ExceptionAssert.Throws <ArgumentNullException>(delegate()
            {
                optimizer.LosslessCompress((FileInfo)null);
            });

            ExceptionAssert.Throws <ArgumentNullException>(delegate()
            {
                optimizer.LosslessCompress((string)null);
            });

            ExceptionAssert.Throws <ArgumentException>(delegate()
            {
                optimizer.LosslessCompress("");
            });

            ExceptionAssert.Throws <ArgumentException>(delegate()
            {
                optimizer.LosslessCompress(Files.Missing);
            });
        }
Ejemplo n.º 2
0
        private long Test_LosslessCompress(string fileName, bool resultIsSmaller)
        {
            FileInfo tempFile = CreateTemporaryFile(fileName);

            try
            {
                IImageOptimizer optimizer = CreateImageOptimizer();
                Assert.IsNotNull(optimizer);

                long before = tempFile.Length;
                optimizer.LosslessCompress(tempFile);

                long after = tempFile.Length;

                if (resultIsSmaller)
                {
                    Assert.IsTrue(after < before, "{0} is not smaller than {1}", after, before);
                }
                else
                {
                    Assert.AreEqual(before, after);
                }

                return(after);
            }
            finally
            {
                tempFile.Delete();
            }
        }
Ejemplo n.º 3
0
        private bool DoLosslessCompress(FileInfo file)
        {
            IImageOptimizer optimizer = GetOptimizer(file);

            if (optimizer == null)
            {
                return(false);
            }

            optimizer.OptimalCompression = OptimalCompression;
            return(optimizer.LosslessCompress(file));
        }
Ejemplo n.º 4
0
        private void DoLosslessCompress(FileInfo file)
        {
            IImageOptimizer optimizer = GetOptimizer(file);

            if (optimizer == null)
            {
                return;
            }

            optimizer.OptimalCompression = OptimalCompression;
            optimizer.LosslessCompress(file);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Performs lossless compression on the specified stream. If the new stream size is not smaller
        /// the stream won't be overwritten.
        /// </summary>
        /// <param name="stream">The stream of the image to compress.</param>
        /// <returns>True when the image could be compressed otherwise false.</returns>
        public bool LosslessCompress(Stream stream)
        {
            ImageOptimizerHelper.CheckStream(stream);

            IImageOptimizer optimizer = GetOptimizer(stream);

            if (optimizer == null)
            {
                return(false);
            }

            optimizer.OptimalCompression = OptimalCompression;
            return(optimizer.LosslessCompress(stream));
        }
Ejemplo n.º 6
0
        protected void Test_LosslessCompress_InvalidFile(string fileName)
        {
            FileInfo tempFile = CreateTemporaryFile(fileName);

            try
            {
                ExceptionAssert.Throws <MagickCorruptImageErrorException>(delegate()
                {
                    IImageOptimizer optimizer = CreateImageOptimizer();
                    Assert.IsNotNull(optimizer);

                    optimizer.LosslessCompress(tempFile);
                });
            }
            finally
            {
                tempFile.Delete();
            }
        }