public void FiltersInPlace()
        {
            double[] input = { 1, 2, 3 };
            using (var filter = new ZeroFilter())
            {
                filter.ProcessInPlace(input);

                Assert.AreEqual(0, input[0]);
                Assert.AreEqual(0, input[1]);
                Assert.AreEqual(0, input[2]);
            }
        }
        public void FiltersSubsetOfInput()
        {
            double[] input = { 1, 2, 3 };
            using (var filter = new ZeroFilter())
            {
                double[] output = filter.Process(input, 1, 1);
                Assert.AreEqual(1, output.Length, "Output array is sized according to number of samples to filter (regardless input array size).");
                Assert.AreEqual(0, output[0]);

                filter.ProcessInPlace(input, 1, 1);
                Assert.AreEqual(0, input[1]);
            }
        }