private static void _PolygonCollionOnAxis(
            string poly1, int x1, int y1,
            string poly2, int x2, int y2,
            int m2x, int m2y,
            int normalIndex,
            string expected
            )
        {
            var p1 = ForName(poly1).Translate(x1, y1);
            var p2 = ForName(poly2).Translate(x2, y2);

            var m2 = new Vector(m2x, m2y);

            var normals = ConvexPolygon.GetUniqueNormals(p1, p2);

            Vector targetNormal = default;
            var    ix           = 0;

            foreach (var norm in normals)
            {
                if (ix == normalIndex)
                {
                    targetNormal = norm;
                    break;
                }
                ix++;
            }

            if (ix < normalIndex)
            {
                throw new Exception("Couldn't find normal");
            }

            var collisionTime = CollisionDetector.DetermineCollisionTime(p1, p2, m2, targetNormal);

            var res = collisionTime == null ? "NEVER" : collisionTime.Value.ToString();

            Assert.Equal(expected, res);
        }