static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			String[] field = { "vvv" };
			int dist = 0;
			int expected__ = 7;

			return verifyCase(casenum__, expected__,
					new GooseInZooDivTwo().count(field, dist));
		}
		case 1: {
			String[] field = { "." };
			int dist = 100;
			int expected__ = 0;

			return verifyCase(casenum__, expected__,
					new GooseInZooDivTwo().count(field, dist));
		}
		case 2: {
			String[] field = { "vvv" };
			int dist = 1;
			int expected__ = 1;

			return verifyCase(casenum__, expected__,
					new GooseInZooDivTwo().count(field, dist));
		}
		case 3: {
			String[] field = {
					"v.v..................v............................",
					".v......v..................v.....................v",
					"..v.....v....v.........v...............v......v...",
					".........vvv...vv.v.........v.v..................v",
					".....v..........v......v..v...v.......v...........",
					"...................vv...............v.v..v.v..v...",
					".v.vv.................v..............v............",
					"..vv.......v...vv.v............vv.....v.....v.....",
					"....v..........v....v........v.......v.v.v........",
					".v.......v.............v.v..........vv......v.....",
					"....v.v.......v........v.....v.................v..",
					"....v..v..v.v..............v.v.v....v..........v..",
					"..........v...v...................v..............v",
					"..v........v..........................v....v..v...",
					"....................v..v.........vv........v......",
					"..v......v...............................v.v......",
					"..v.v..............v........v...............vv.vv.",
					"...vv......v...............v.v..............v.....",
					"............................v..v.................v",
					".v.............v.......v..........................",
					"......v...v........................v..............",
					".........v.....v..............vv..................",
					"................v..v..v.........v....v.......v....",
					"........v.....v.............v......v.v............",
					"...........v....................v.v....v.v.v...v..",
					"...........v......................v...v...........",
					"..........vv...........v.v.....................v..",
					".....................v......v............v...v....",
					".....vv..........................vv.v.....v.v.....",
					".vv.......v...............v.......v..v.....v......",
					"............v................v..........v....v....",
					"................vv...v............................",
					"................v...........v........v...v....v...",
					"..v...v...v.............v...v........v....v..v....",
					"......v..v.......v........v..v....vv..............",
					"...........v..........v........v.v................",
					"v.v......v................v....................v..",
					".v........v................................v......",
					"............................v...v.......v.........",
					"........................vv.v..............v...vv..",
					".......................vv........v.............v..",
					"...v.............v.........................v......",
					"....v......vv...........................v.........",
					"....vv....v................v...vv..............v..",
					"..................................................",
					"vv........v...v..v.....v..v..................v....",
					".........v..............v.vv.v.............v......",
					".......v.....v......v...............v.............",
					"..v..................v................v....v......",
					".....v.....v.....................v.v......v......." };
			int dist = 3;
			int expected__ = 797922654;

			return verifyCase(casenum__, expected__,
					new GooseInZooDivTwo().count(field, dist));
		}

		// custom cases

		/*
		 * case 4: { String[] field = ; int dist = ; int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * GooseInZooDivTwo().count(field, dist)); }
		 */
		/*
		 * case 5: { String[] field = ; int dist = ; int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * GooseInZooDivTwo().count(field, dist)); }
		 */
		/*
		 * case 6: { String[] field = ; int dist = ; int expected__ = ;
		 *
		 * return verifyCase(casenum__, expected__, new
		 * GooseInZooDivTwo().count(field, dist)); }
		 */
		default:
			return -1;
		}
	}