public void Should_correctly_calculate_coefficients_for_even_numbered_order()
        {
            var target = new LowPassFilterFunction();

            var expected = new float[]
            {
                0.00453131273f,
                0.004532693f,
                0.004533767f,
                0.00453453371f,
                0.004534994f,
                0.00453514745f,
                0.004534994f,
                0.00453453371f,
                0.004533767f,
                0.004532693f,
                0.00453131273f
            };

            var actual = target.CalculateCoefficients(10, 100f, 0f, 44100);

            CollectionAssert.AreEqual(expected, actual, new FloatComparer());
        }
        public void Should_throw_if_sample_rate_is_negative()
        {
            var target = new LowPassFilterFunction();

            target.CalculateCoefficients(1, 1f, 1f, -1);
        }
        public void Should_throw_if_lower_cutoff_frequency_is_negative()
        {
            var target = new LowPassFilterFunction();

            target.CalculateCoefficients(1, -1f, 1f, 1);
        }
        public void Should_throw_if_filter_order_is_negative()
        {
            var target = new LowPassFilterFunction();

            target.CalculateCoefficients(-1, 1f, 1f, 1);
        }