public void ProcessMedianForEvenWindowSizeTest()
 {
     MedianPreprocessor target = new MedianPreprocessor(4);
     double[] iArray = {4, 1, 2, 5, 6, 7, 10, 3, 5, 2};
     double[] expected = {2, 2, 5, 6, 6, 5, 3};
     BSDataObject actual = target.Process(new BSDataObject(iArray));
     CheckTwoOrderedArrays(actual.DataArray, expected);
 }
 public void MedianPreprocessorConstructorTest()
 {
     Random rnd = new Random();
     for (int i = 0; i < 1000; i++)
     {
         int iWindowSize = rnd.Next();
         MedianPreprocessor target = new MedianPreprocessor(iWindowSize);
         Assert.AreEqual<int>(iWindowSize, target.WindowSize);
     }
 }
 public void ProcessTest()
 {
     MedianPreprocessor target = new MedianPreprocessor(5);
     double[] iArray = { 1, 2, 3, 10, 5, 7, 4, 2, 12, 3, 10 };
     double[] expected = { 3, 5, 5, 5, 5, 4, 4 };
     BSDataObject actual = target.Process(new BSDataObject(iArray));
     CheckTwoOrderedArrays(actual.DataArray, expected);
     target = new MedianPreprocessor(3);
     iArray = new double[] { 1, 2, 3, 4, 5 };
     expected = new double[] { 2, 3, 4 };
     actual = target.Process(new BSDataObject(iArray));
     CheckTwoOrderedArrays(actual.DataArray, expected);
 }
 public void MedianPreprocessorConstructorWindowSizeOnlyPositiveTest()
 {
     int iWindowSize = -10;
     MedianPreprocessor target = new MedianPreprocessor(iWindowSize);
 }
 public void ProcessUnordinaryWindowSizesTest()
 {
     MedianPreprocessor target = new MedianPreprocessor(6);
     double[] iArray = {1, 2, 3, 4, 5, 6};
     double[] expected = {3};
     BSDataObject actual = target.Process(new BSDataObject(iArray));
     CheckTwoOrderedArrays(actual.DataArray, expected);
     target = new MedianPreprocessor(5);
     iArray = new double[] { 1, 2, 3, 4};
     actual = target.Process(new BSDataObject(iArray));
     Assert.AreEqual<int>(0, actual.DataArray.Length);
 }