Exemplo n.º 1
0
        public void CanGetValidMedianFiltration()
        {
            //Arrange
            MedianFilter filter = new MedianFilter();

            double[] input1  = { 2, 80, 6, 3 };
            int      window1 = 3;

            double[] reference1 = { 2, 6, 6, 3 };

            double[] input2  = { 17, 38, 9, 63, 41, 15 };
            int      window2 = 4;

            double[] reference2 = { 17, 17, 27.5, 39.5, 28, 28 };

            double[] input3  = { 7, 100, 1, 33, 12, 1, 56 };
            int      window3 = 5;

            double[] reference3 = { 7, 7, 12, 12, 12, 33, 56 };

            //Action
            double[] result1 = filter.GetMedianFiltration(input1, window1);

            double[] result2 = filter.GetMedianFiltration(input2, window2);

            double[] result3 = filter.GetMedianFiltration(input3, window3);

            //Assert
            CollectionAssert.AreEqual(reference1, result1);
            CollectionAssert.AreEqual(reference2, result2);
            CollectionAssert.AreEqual(reference3, result3);
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Здравствуйте!");
            while (true)
            {
                Console.Write(greetingMessage);

                //1-winsorization, 2 - median filtration, 3 - demonstration
                int operationNumber = ChooseAction();

                if (operationNumber == 3)
                {
                    WinsorizationDemonstration();
                    continue;
                }

                Console.WriteLine(enterArray);

                DataParser parser = new DataParser();

                double[] parsedArray = null;

                do
                {
                    string inputArray = Console.ReadLine();
                    parsedArray = parser.ParseArray(inputArray);
                    Console.WriteLine(parser.ValidationMessage);
                }while (parsedArray == null);


                if (operationNumber == 1)
                {
                    Console.WriteLine(enterWinsParameter);
                }
                else if (operationNumber == 2)
                {
                    Console.WriteLine(enterMedianParameter);
                }
                Console.WriteLine(parameterCharachter);

                int parsedParameter = -1;

                do
                {
                    string inputParameter = Console.ReadLine();
                    parsedParameter = parser.ParseParameter(inputParameter, parsedArray.Length);
                    Console.WriteLine(parser.ValidationMessage);
                }while (parsedParameter == -1);

                Console.WriteLine(resultOfTask);

                if (operationNumber == 1)
                {
                    Winsorizator wins   = new Winsorizator();
                    double       output = wins.FindWinsorizedMedium(parsedArray, parsedParameter);
                    Console.WriteLine(output);
                }
                else
                {
                    MedianFilter filter = new MedianFilter();
                    double[]     output = filter.GetMedianFiltration(parsedArray, parsedParameter);
                    Console.WriteLine(string.Join(" ", output));
                }

                Console.WriteLine(anythingElse);
                string answer = Console.ReadLine();
                if (!answer.ToLower().Contains("да"))
                {
                    break;
                }
            }
        }