public void CartesianProductTest2()
{
int[][] sequences =
{
new int[] { 1, 2, 3},
new int[] { 4, 5, 6},
};
int[][] points = Matrix.CartesianProduct(sequences);
Assert.IsTrue(points[0].IsEqual(new int[] { 1, 4 }));
Assert.IsTrue(points[1].IsEqual(new int[] { 1, 5 }));
Assert.IsTrue(points[2].IsEqual(new int[] { 1, 6 }));
Assert.IsTrue(points[3].IsEqual(new int[] { 2, 4 }));
Assert.IsTrue(points[4].IsEqual(new int[] { 2, 5 }));
Assert.IsTrue(points[5].IsEqual(new int[] { 2, 6 }));
Assert.IsTrue(points[6].IsEqual(new int[] { 3, 4 }));
Assert.IsTrue(points[7].IsEqual(new int[] { 3, 5 }));
Assert.IsTrue(points[8].IsEqual(new int[] { 3, 6 }));
}