static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			String inst = "NENENNWWWWWS";
			String expected__ = "NNNWWW";

			return verifyCase(casenum__, expected__, new OptimalList().optimize(inst));
		}
		case 1: {
			String inst = "NNEESSWW";
			String expected__ = "";

			return verifyCase(casenum__, expected__, new OptimalList().optimize(inst));
		}
		case 2: {
			String inst = "NEWSNWESWESSEWSENSEWSEWESEWWEWEEWESSSWWWWWW";
			String expected__ = "SSSSSSSSWWW";

			return verifyCase(casenum__, expected__, new OptimalList().optimize(inst));
		}
		case 3: {
			String inst = "NENENE";
			String expected__ = "EEENNN";

			return verifyCase(casenum__, expected__, new OptimalList().optimize(inst));
		}

		// custom cases

		/*
		 * case 4: {
		 * String inst = ;
		 * String expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * OptimalList().optimize(inst));
		 * }
		 */
		/*
		 * case 5: {
		 * String inst = ;
		 * String expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * OptimalList().optimize(inst));
		 * }
		 */
		/*
		 * case 6: {
		 * String inst = ;
		 * String expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * OptimalList().optimize(inst));
		 * }
		 */
		default:
			return -1;
		}
	}