	@Test
	public final void testPerformOperator() {


		Map<Integer, Integer[]> correct = buildIsCorrect();
		StringingT1 stringT1 = new StringingT1();
		double[][] tour = getSimpleTour();

		for (int i = 0; i < tour.length; i++) {
			// int i = 1;
			int valueToRemoveInsert = i;
			Integer[] intTour = remove(transform(tour), valueToRemoveInsert);
			// test
			// intTour = new Integer[] {0, 3, 2, 5, 4, 6};
			Integer[] result = stringT1.performOperator(intTour, valueToRemoveInsert, 4, getDistancecalculator(tour)).getTour();
			logger.debug("Result tour for index {} is {}", i, Arrays.toString(result));
			if (!isOrderCorrect(i, result, correct)) {
				 fail("False result for index " + i + ".");
			}
		}
	}