static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			int[] left = { 1, 3, 1 };
			int[] right = { 2, 1, 3 };
			int expected__ = 1;

			return verifyCase(casenum__, expected__, new BootsExchange().leastAmount(left, right));
		}
		case 1: {
			int[] left = { 1, 3 };
			int[] right = { 2, 2 };
			int expected__ = 2;

			return verifyCase(casenum__, expected__, new BootsExchange().leastAmount(left, right));
		}
		case 2: {
			int[] left = { 1, 2, 3, 4, 5, 6, 7 };
			int[] right = { 2, 4, 6, 1, 3, 7, 5 };
			int expected__ = 0;

			return verifyCase(casenum__, expected__, new BootsExchange().leastAmount(left, right));
		}

		// custom cases

		case 3: {
			int[] left = { 3, 1, 4, 7, 3, 1, 4, 5, 1 };
			int[] right = { 2, 5, 2, 3, 4, 1, 4, 6, 8 };
			int expected__ = 4;

			return verifyCase(casenum__, expected__, new
					BootsExchange().leastAmount(left, right));
		}
		/*
		 * case 4: {
		 * int[] left = ;
		 * int[] right = ;
		 * int expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * BootsExchange().leastAmount(left, right));
		 * }
		 */
		/*
		 * case 5: {
		 * int[] left = ;
		 * int[] right = ;
		 * int expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * BootsExchange().leastAmount(left, right));
		 * }
		 */
		default:
			return -1;
		}
	}