public void TestGenerateSlope() { var x = new[] { 1.0, 2, 3, 4, 5, 6, 7, 8 }; var output = Dsp.GenerateSlope(x, 2, 7, -10, 20).ToReadOnlyList(); Assert.That(output.Count == x.Length); Assert.That(output[0] == -10); Assert.That(output[output.Count - 1] == 20); FilterAssert.ListIsMonotonouslyRising(output); var output2 = Dsp.GenerateSlope(x, 7, 2, 20, -10).ToReadOnlyList(); FilterAssert.ListsAreEqual(output, output2); Assert.That(Dsp.GenerateSlope(new List <double>(), 2, 7, 10, 20).ToReadOnlyList().Count == 0); Assert.Throws <ArgumentNullException>(() => Dsp.GenerateSlope(null, 2, 7, 10, 20).ToReadOnlyList()); }