[Demonstration 1]

[Buggy Method]
@Test
public void koTest() {
    Board board = new Board(9);
    board.loadFromFile("BoardTest_a.dat");
    board.removeDeadStones(Board.FRIENDLY);
    board.removeDeadStones(Board.ENEMY);
    board.setPoint(8, 6, Board.ENEMY);
    board.removeDeadStones(Board.FRIENDLY);
    //board.setKO(new Point(8,7));
    //System.out.printf("[%d %d]", board.koPoint.i, board.koPoint.j);
    assertTrue("KO test failed", board.checkRules(new Point(8, 7), Board.FRIENDLY) == false);
    //board.printBoard();
}

[Buggy Hunk]
assertTrue("KO test failed", board.checkRules(new Point(8,7), Board.FRIENDLY) == false);

[Patch]
assertTrue("KO test failed", board.checkRules(new Point(board, 8, 7), Board.FRIENDLY) == false);

[Demonstration 2]

[Buggy Method]
@Test
public void testStoringOfValues() throws Exception {
    CacheTestUtil.testStoringOfValues(InmemoryCacheTest.class, new InmemoryByteCache(), SECTION_COUNT, KEY_PER_SECTION_COUNT, TOTAL_KEY_COUNT, VALUE_LENGTH);
}

[Buggy Hunk]
InmemoryCacheTest.class, new InmemoryByteCache(),

[Patch]
InmemoryCacheTest.class, InmemoryCache.newInstance(),

[Demonstration 3]

[Buggy Method]
@Test
public void testBoardFromJson() {
    try {
        InputStream boardPayload = getClass().getResourceAsStream("/BoardStart.json");
        BoardPayload payload = mapper.readValue(boardPayload, BoardPayload.class);
        Board board = Board.initializeFromPayload(payload);
        System.out.println(board.toVisualString());
        // TODO: make a real test here
        // TODO: read JSON from file
    } catch (IOException e) {
        e.printStackTrace();
        fail();
    } catch (GameModelException e) {
        e.printStackTrace();
        fail();
    }
}

[Buggy Hunk]
Board board = Board.initializeFromPayload(payload);

[Patch]
Board board = Board.createFromPayload(payload);