ArraysSolverValidator { public static SingleVehicleArraysSolver wrap( SingleVehicleArraysSolver delegate) { return new SingleValidator(delegate); } private  ArraysSolverValidator(); static SingleVehicleArraysSolver wrap(
      SingleVehicleArraysSolver delegate); static MultiVehicleArraysSolver wrap(
      MultiVehicleArraysSolver delegate); static void validateInputs(int[][] travelTime, int[] releaseDates,
      int[] dueDates, int[][] servicePairs, int[] serviceTimes); static void validateInputs(int[][] travelTime, int[] releaseDates,
      int[] dueDates, int[][] servicePairs, int[] serviceTimes,
      int[][] vehicleTravelTimes, int[][] inventories,
      int[] remainingServiceTimes, int[] currentDestinations,
      @Nullable SolutionObject[] currentSolutions); static SolutionObject validateOutputs(SolutionObject sol,
      int[][] travelTime, int[] releaseDates, int[] dueDates,
      int[][] servicePairs, int[] serviceTimes,
      @Nullable SolutionObject currentSolution); static SolutionObject[] validateOutputs(SolutionObject[] sols,
      int[][] travelTime, int[] releaseDates, int[] dueDates,
      int[][] servicePairs, int[] serviceTimes, int[][] vehicleTravelTimes,
      int[][] inventories, int[] remainingServiceTimes,
      int[] currentDestinations);  }
@Test public void validateCorrect3() { final int[][] tt = new int[][] { new int[] {999, 999, 999, 999, 999}, new int[] {999, 0, 3, 999, 60}, new int[] {999, 999, 0, 7, 999}, new int[] {999, 999, 0, 7, 50}, new int[] {999, 999, 999, 0, 999}}; final SolutionObject sol1 = new SolutionObject( new int[] {0, 1, 4}, new int[] {0, 10, 70}, 140); final SolutionObject sol2 = new SolutionObject( new int[] {0, 2, 3, 4}, new int[] {0, 10, 20, 108}, 195); final MultiVehicleArraysSolver s = ArraysSolverValidator .wrap(new FakeMultiSolver(new SolutionObject[] {sol1, sol2})); s.solve(tt, new int[5], new int[5], new int[][] {{2, 3}}, new int[5], new int[][] {{0, 0, MI, MI, MI}, {0, MI, 0, MI, MI}}, new int[][] {{0, 1}}, new int[2], new int[] {1, 2}, null); }
@Test public void testWrapSingle() { final SingleVehicleArraysSolver s = wrap(new FakeSingleSolver( new SolutionObject(new int[] {0, 1, 2, 3}, new int[] {0, 10, 100, 108}, 238))); s.solve(travelTimes, new int[4], new int[4], new int[][] {}, new int[4], null); }
@Test public void testWrapMulti() { TestUtil.testPrivateConstructor(ArraysSolverValidator.class); final MultiVehicleArraysSolver s = wrap(new FakeMultiSolver( new SolutionObject[] {new SolutionObject(new int[] {0, 1, 2, 3}, new int[] {0, 10, 100, 108}, 228)})); s.solve(travelTimes, new int[4], new int[4], new int[][] {}, new int[4], new int[2][4], new int[][] {{0, 1}, {0, 2}}, new int[2], new int[2], null); }