### Question:
TspObjectiveFunction implements IObjectiveFunction { public double[] evaluate(TspSolution solution, int[] move) throws Exception { return _evaluator.evaluate(solution._tour, move, solution.getObjectiveValue()); } TspObjectiveFunction(City[] cities); double[] evaluate(TspSolution solution, int[] move); @Override double getObjectiveValue(Solution s);  }### Answer:
@Test public void testEvaluate() throws Exception { testEvaluateSolution(null); testEvaluateSolution(new int[] { 0, 1 }); testEvaluateSolution(new int[] { 0, _cities.length - 1 }); testEvaluateSolution(new int[] { 5, 6 }); testEvaluateSolution(new int[] { 5, 10 }); }