예제 #1
0
 private static void AssertDefaults(DraganEffectScript script)
 {
     Assert.AreEqual(1.0, script.Brightness);
     Assert.AreEqual(0.0, script.Contrast);
     Assert.AreEqual(1.0, script.Darkness);
     Assert.AreEqual((Percentage)150, script.Saturation);
 }
예제 #2
0
 public void Test_Execute_Null()
 {
     ExceptionAssert.ThrowsArgumentException <ArgumentNullException>("input", () =>
     {
         var script = new DraganEffectScript();
         script.Execute(null);
     });
 }
예제 #3
0
        public void Reset_AllSettingsChanged_RestoredToDefault()
        {
            var script = new DraganEffectScript();

            script.Brightness = 0.5;
            script.Contrast   = 4;
            script.Darkness   = 2;
            script.Saturation = (Percentage)100;

            script.Reset();

            AssertDefaults(script);
        }
예제 #4
0
        private void Test_Execute(string input, Action <DraganEffectScript> action, string output)
        {
            string inputFile = GetInputFile(input);

            using (var image = new MagickImage(inputFile))
            {
                var script = new DraganEffectScript();
                action(script);

                var scriptOutput = script.Execute(image);
                TestOutput(scriptOutput, output);
            }
        }
예제 #5
0
        private static void AssertInvalidOperation(string expectedMessage, Action <DraganEffectScript> initAction)
        {
            var script = new DraganEffectScript();

            using (var logo = new MagickImage(Images.Logo))
            {
                initAction(script);

                ExceptionAssert.Throws <InvalidOperationException>(expectedMessage, () =>
                {
                    script.Execute(logo);
                });
            }
        }
예제 #6
0
        public void Test_Defaults()
        {
            var script = new DraganEffectScript();

            Test_Defaults(script);

            script.Brightness = 0.5;
            script.Contrast   = 4;
            script.Darkness   = 2;
            script.Saturation = (Percentage)100;

            script.Reset();
            Test_Defaults(script);
        }
예제 #7
0
        private void AssertExecute(string input, string methodName, Action <DraganEffectScript> action)
        {
            string inputFile = GetInputFile(input);

            /* LosslessCompress(inputFile); */

            using (var image = new MagickImage(inputFile))
            {
                var script = new DraganEffectScript();
                action(script);

                using (var scriptOutput = script.Execute(image))
                {
                    string outputFile = GetOutputFile(input, methodName);
                    AssertOutput(scriptOutput, outputFile);
                }
            }
        }
예제 #8
0
        public void Test_Settings()
        {
            var script = new DraganEffectScript();

            using (var logo = new MagickImage(Images.Logo))
            {
                script.Execute(logo);

                ExceptionAssert.Throws <InvalidOperationException>(() =>
                {
                    script.Brightness = -1.0;
                    script.Execute(logo);
                });

                ExceptionAssert.Throws <InvalidOperationException>(() =>
                {
                    script.Reset();
                    script.Contrast = -11.0;
                    script.Execute(logo);
                });

                ExceptionAssert.Throws <InvalidOperationException>(() =>
                {
                    script.Reset();
                    script.Contrast = 11.0;
                    script.Execute(logo);
                });

                ExceptionAssert.Throws <InvalidOperationException>(() =>
                {
                    script.Reset();
                    script.Darkness = 0.0;
                    script.Execute(logo);
                });

                ExceptionAssert.Throws <InvalidOperationException>(() =>
                {
                    script.Reset();
                    script.Saturation = (Percentage)(-1);
                    script.Execute(logo);
                });
            }
        }
예제 #9
0
        public void Constructor_SettingsSetToDefaults()
        {
            var script = new DraganEffectScript();

            AssertDefaults(script);
        }