public void ConvolveTest2()
{
double[] a = { 3, 4, 5 };
double[] kernel = { 2, 1 };
double[] expected = { 6, 11, 14 };
double[] actual = Matrix.Convolve(a, kernel, true);
Assert.IsTrue(expected.IsEqual(actual));
a = new double[] { 1, 2, 3, 4 };
kernel = new double[] { 1, 2, 1 };
expected = new double[] { 4, 8, 12, 11 };
actual = Matrix.Convolve(a, kernel, true);
Assert.IsTrue(expected.IsEqual(actual));
a = new double[] { 1, 2, 3, 4 };
kernel = new double[] { 0, 1, 0 };
expected = new double[] { 1, 2, 3, 4 };
actual = Matrix.Convolve(a, kernel, true);
Assert.IsTrue(expected.IsEqual(actual));
a = new double[] { 1, 2, 3, 4, 5, 6, 7 };
kernel = new double[] { 0, 1, 0 };
expected = new double[] { 1, 2, 3, 4, 5, 6, 7 };
actual = Matrix.Convolve(a, kernel, true);
Assert.IsTrue(expected.IsEqual(actual));
a = new double[] { 1, 2 };
kernel = new double[] { 0, 1, 0 };
expected = new double[] { 1, 2 };
actual = Matrix.Convolve(a, kernel, true);
Assert.IsTrue(expected.IsEqual(actual));
}