[Demonstration 1]

[Buggy Method]
@Test
public void testRootFragmentId() {
    try {
        createTestEngine().compile("<test data-eht-fragment='root' />", createTestParserConfiguration());
        Assert.fail("Exception should have been thrown");
    } catch (CompileException e) {
        Assert.assertEquals(10, e.getLineNumber());
        Assert.assertEquals(36, e.getColumn());
    }
}

[Buggy Hunk]
createTestEngine().compile("<test data-eht-fragment='root' />",

[Patch]
createTestEngine().compile("<test data-eht-fragment=\"'root'\" />",

[Demonstration 2]

[Buggy Method]
private void setAction() {
    findViewById(R.id.backBtn).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            finish();
        }
    });
    findViewById(R.id.step3).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (selectedProduct != null) {
                ProgressAction.show(StepTwoActivity.this);
                ProductModel prodInfo = new ProductModel(selectedProduct.getPrdID(), selectedProduct.getPrdName(), selectedProduct.getPrdGrpID(), 0, 0, null);
                StepThreeActivity.productionInfo = prodInfo;
                StepThreeActivity.selectedprovince = selectedprovince;
                StepThreeActivity.selectedAmphoe = selectedAmphoe;
                StepThreeActivity.selectedTumbon = selectedTumbon;
                startActivity(new Intent(StepTwoActivity.this, StepThreeActivity.class));
            } else {
                new DialogChoice(StepTwoActivity.this).ShowOneChoice("", "กรุณาเลือกสินค้าก่อนกดปุ่ม'ถัดไป'");
            }
        }
    });
    //tutorial
    findViewById(R.id.btnHowto).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            new DialogChoice(StepTwoActivity.this).ShowTutorial("g10");
        }
    });
    h.plantBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (isPlantSelected) {
                isPlantSelected = false;
                checkResetSelectProduct();
            } else {
                isPlantSelected = true;
            }
            filterActionBtn(1, isPlantSelected, h.plantBtn, h.plant_btn_label, h.plant_btn_img);
            filterProductGroup();
        }
    });
    h.animalBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (isAnimalSelected) {
                isAnimalSelected = false;
                checkResetSelectProduct();
            } else {
                isAnimalSelected = true;
            }
            filterActionBtn(2, isAnimalSelected, h.animalBtn, h.animal_btn_label, h.animal_btn_img);
            filterProductGroup();
        }
    });
    h.fishBtn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (isFishSelected) {
                isFishSelected = false;
                checkResetSelectProduct();
            } else {
                isFishSelected = true;
            }
            filterActionBtn(3, isFishSelected, h.fishBtn, h.fish_btn_label, h.fish_btn_img);
            filterProductGroup();
        }
    });
    findViewById(R.id.compareBtn).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent i = new Intent(StepTwoActivity.this, CompareProductActivity.class);
            i.putExtra("prodId1", String.valueOf(selectedProduct.getPrdID()));
            i.putExtra("prodGroupId", String.valueOf(selectedProduct.getPrdGrpID()));
            int index = 2;
            for (Integer key : map.keySet()) {
                i.putExtra("prodId" + index, String.valueOf(key));
                index++;
            }
            startActivity(i);
        }
    });
    findViewById(R.id.ic_market).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (selectedProduct != null) {
                StepTwoMapActivity.userPlotModel = new UserPlotModel();
                StepTwoMapActivity.userPlotModel.setPrdID(String.valueOf(selectedProduct.getPrdID()));
                StepTwoMapActivity.userPlotModel.setPrdValue(selectedProduct.getPrdName());
                StepTwoMapActivity.userPlotModel.setProvCode(provID);
                StepTwoMapActivity.userPlotModel.setAmpCode(amphoeID);
                StepTwoMapActivity.userPlotModel.setTamCode(tambonID);
                startActivity(new Intent(StepTwoActivity.this, StepTwoMapActivity.class));
            }
        }
    });
}

[Buggy Hunk]
findViewById(R.id.ic_market).setOnClickListener(new View.OnClickListener() {

[Patch]
findViewById(R.id.market_map_btn).setOnClickListener(new View.OnClickListener() {

[Demonstration 3]

[Buggy Method]
public void deleteTemplateWiki() throws Exception {
    // Go to the template wiki
    WikiIndexPage wikiIndexPage = WikiIndexPage.gotoPage().waitUntilPageIsLoaded();
    WikiLink templateWikiLink = wikiIndexPage.getWikiLink("My new template");
    if (templateWikiLink == null) {
        throw new Exception("The wiki [My new template] is not in the wiki index.");
    }
    WikiHomePage wikiHomePage = templateWikiLink.click();
    // Delete the wiki
    DeleteWikiPage deleteWikiPage = wikiHomePage.deleteWiki().confirm(TEMPLATE_WIKI_ID);
    assertTrue(deleteWikiPage.hasSuccessMessage());
    // Verify the wiki has been deleted
    wikiIndexPage = WikiIndexPage.gotoPage().waitUntilPageIsLoaded();
    assertNull(wikiIndexPage.getWikiLink("My new template"));
}

[Buggy Hunk]
public void deleteTemplateWiki() throws Exception

[Patch]
private void deleteTemplateWiki() throws Exception