public void SolutionEdges() { for (int x = 2; x < 16; x++) { for (int y = 2; y < 16; y++) { SolutionParameters parm = new SolutionParameters(x, y); Vector2 prev = new Vector2(-1, 0); for (int i = -2 * (x + y) + 4; i < 2 * (x + y) - 4; i++) { var newPos = parm.IndexToBound(i); if (i >= 0) { Assert.AreEqual(i, parm.BoundToIndex(newPos), string.Format("{0}, {1}, {2}", x, y, i)); } Assert.AreEqual(1, (prev - newPos).DistanceSquared(), string.Format("{0}, {1}, {2}", x, y, i)); prev = newPos; } } } }