public void test_tilt_board_left() {
		Game2048Core processer = new Game2048Core();
		int[][] in = null;
		int[][] out = null;
		int[][] expected = null;

		in = new int[][] { { 2, 0, 0, 2 }, 
				           { 2, 0, 0, 0 },
				           { 0, 0, 2, 2 },
				           { 2, 0, 0, 0 } 
				          };
		out = processer.tilt_board_left(in);
		expected = new int[][] { { 4, 0, 0, 0 }, 
				                 { 2, 0, 0, 0 },
				                 { 4, 0, 0, 0 }, 
				                 { 2, 0, 0, 0 } };
		if (GameUtil.compareExpectToActualBoard(expected, out)) {
			GameUtil.printBoard(in, "after tilt board left became", out,
					expected, GameUtil.PASSED);
		} else {
			GameUtil.printBoard(in, "after tilt board left became", out,
					expected, GameUtil.FAILED);
			fail();
		}
		in = new int[][] { { 2, 2, 0, 2 }, 
                           { 2, 0, 0, 2 },
                           { 2, 0, 2, 2 },
                           { 2, 0, 2, 0 } 
                              };
   out = processer.tilt_board_left(in);
   expected = new int[][] { { 4, 2, 0, 0 }, 
                            { 4, 0, 0, 0 },
                            { 4, 2, 0, 0 }, 
                            { 4, 0, 0, 0 } };
if (GameUtil.compareExpectToActualBoard(expected, out)) {
GameUtil.printBoard(in, "after tilt board left became", out,
	expected, GameUtil.PASSED);
} else {
GameUtil.printBoard(in, "after tilt board left became", out,
	expected, GameUtil.FAILED);
fail();
}
		in = new int[][] { { 2, 2, 0, 2 }, 
				           { 0, 0, 0, 2 }, 
				           { 0, 0, 2, 2 },
				           { 2, 4, 6, 8 }
				     };
		expected = new int[][] {  { 4, 2, 0, 0 }, 
				                  { 2, 0, 0, 0 },
				                  { 4, 0, 0, 0 }, 
				                  { 2, 4, 6, 8 } };
		out = processer.tilt_board_left(in);
		if (GameUtil.compareExpectToActualBoard(expected, out)) {
			GameUtil.printBoard(in, "after tilt board left became", out,
					expected, GameUtil.PASSED);
		} else {
			GameUtil.printBoard(in, "after tilt board left became", out,
					expected, GameUtil.FAILED);
			fail();
		}
		
		
		in = new int[][] { { 0, 0, 0, 2 }, 
				           { 0, 2, 0, 2 }, 
				           { 2, 4, 2, 2 },
				           { 2, 4, 6, 8 } };
		expected = new int[][] { { 2, 0, 0, 0 }, 
				                 { 4, 0, 0, 0 },
				                 { 2, 4, 4, 0 }, 
				                 { 2, 4, 6, 8 } };
		out = processer.tilt_board_left(in);
		if (GameUtil.compareExpectToActualBoard(expected, out)) {
			GameUtil.printBoard(in, "after tilt board left became", out,
					expected, GameUtil.PASSED);
		} else {
			GameUtil.printBoard(in, "after tilt board left became", out,
					expected, GameUtil.FAILED);
			fail();
	}

		in = new int[][] { { 0, 0, 2, 2 }, 
		                   { 0, 2, 2, 2 }, 
		                   { 2, 4, 0, 2 },
		                   { 4, 4, 8, 8 } };
  expected = new int[][] { { 4, 0, 0, 0 }, 
		                   { 4, 2, 0, 0 },
		                   { 2, 4, 2, 0 }, 
		                   { 8, 16, 0, 0 } };
out = processer.tilt_board_left(in);
if (GameUtil.compareExpectToActualBoard(expected, out)) {
	GameUtil.printBoard(in, "after tilt board left became", out,
			expected, GameUtil.PASSED);
} else {
	GameUtil.printBoard(in, "after tilt board left became", out,
			expected, GameUtil.FAILED);
	fail();
}
	}