public static void runCoordinates(
     RayTracing rt,
     double[] setup,
     boolean expectCollide,
     boolean expectNotCollide,
     double stepsManhattan,
     boolean reverse,
     String tag) {
   if (reverse) {
     rt.set(setup[3], setup[4], setup[5], setup[0], setup[1], setup[2]);
     tag += "/reversed";
   } else {
     rt.set(setup[0], setup[1], setup[2], setup[3], setup[4], setup[5]);
   }
   rt.loop();
   if (rt.collides()) {
     if (expectNotCollide) {
       doFail("Expect not to collide, " + tag + ".", setup);
     }
   } else {
     if (expectCollide) {
       doFail("Expect to collide, " + tag + ".", setup);
     }
   }
   if (stepsManhattan > 0.0) {
     final double maxSteps =
         stepsManhattan
             * Math.max(
                 1.0,
                 TrigUtil.manhattan(setup[0], setup[1], setup[2], setup[3], setup[4], setup[5]));
     if ((double) rt.getStepsDone() > maxSteps) {
       doFail("Expect less than " + maxSteps + " steps, " + tag + ".", setup);
     }
   }
 }