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); }
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; } } }