public void TestAddFilter()
        {
            FilterController controller = new FilterController();
            var filter = Substitute.For<IFilter>();
            String filterName = "Filter 1";

            controller.addFilter(filterName, filter);

            // We check if the new filter is added to the controller.
            CollectionAssert.Contains(controller.FilterNames, filterName);
        }
        public void TestExecuteFilter1()
        {
            // We receive the testImage from Resource file.
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Resources));
            Bitmap testImage = new Bitmap(((System.Drawing.Image)(resources.GetObject("testImageOrigin"))));

            FilterController controller = new FilterController();
            controller.Origin = testImage;

            var filter = Substitute.For<IFilter>();
            String filterName = "Filter 1";

            // We add the fresh created filter to the controller
            controller.addFilter(filterName, filter);

            // We execute the filter
            controller.executeFilter(filterName);

            /*
             * We check if the substitute has received a call "applyFilter"
             * aka if "executeFilter" has tried to execute the correct filter
             */
            filter.Received().applyFilter(Arg.Any<Bitmap>(), 0, 0, 0, 0, new Color());
        }