[Demonstration 1]

[Buggy Method]
@Test
public final void testParseNoColumnNames() {
    CSVReader r = new CSVReader(qualifiedFileName(SIMPLE1), true, false);
    assertNotNull(r);
    try {
        Table t = r.parse();
        assertNotNull(t);
        assertThat(t.getNumRows(), is(5));
        assertThat(t.getNumColumns(), is(3));
        assertThat(t.getNumCells(), is(15));
        assertThat(t.getColumn(1).getLabel(), nullValue());
        assertThat(t.getColumn(2).getLabel(), nullValue());
        assertThat(t.getColumn(3).getLabel(), nullValue());
        Column c1 = t.getColumn(1);
        Column c2 = t.getColumn(2);
        Column c3 = t.getColumn(3);
        for (Row row : t.rows()) {
            if (row.getIndex() == 1) {
                assertThat(t.getCellValue(row, c1), is("A"));
                assertThat(t.getCellValue(row, c2), is("B"));
                assertThat(t.getCellValue(row, c3), is("C"));
            } else {
                assertThat(Number.class.isAssignableFrom(t.getCellValue(row, c1).getClass()), is(true));
                assertThat(row.getLabel(), is(t.getCellValue(row, c2) + " Row"));
                assertThat(Boolean.class.isAssignableFrom(t.getCellValue(row, c3).getClass()), is(true));
            }
        }
    } catch (IOException e) {
        fail(e.getMessage());
    }
}

[Buggy Hunk]
CSVReader r = new CSVReader(qualifiedFileName(SIMPLE1), true, false);

[Patch]
CSVReader r = new CSVReader(qualifiedFileName(SAMPLE1), true, false);

[Demonstration 2]

[Buggy Method]
@Category({ GCM.class, NotIPv6Ready.class })
@Test
public void androidSelectiveSendByAliases() {
    SenderStatistics statistics;
    List<Installation> installations = ups.with(AndroidInstallationWorker.worker(), getAndroidVariant()).findAll().detachEntities();
    installations = installations.subList(0, installations.size() - 1);
    statistics = selectiveSendByAliases(installations);
    assertThat(statistics.gcmMessage.getData().get("alert"), is(ALERT_MESSAGE));
    statistics = selectiveSendByAliasesWithTtl(installations, 5000);
    assertThat(statistics.gcmMessage.getTimeToLive(), is(5000));
    assertThat(statistics.gcmMessage.getData().get("alert"), is(ALERT_MESSAGE));
    statistics = selectiveSendByAliasesWithContentAvailable(installations);
    assertThat(statistics.gcmMessage.getData().get("alert"), is(ALERT_MESSAGE));
    Map<String, String> attributes = new HashMap<String, String>();
    attributes.put("hello", "aerogear");
    attributes.put("aerogear", "rulez!");
    statistics = selectiveSendByAliasesWithAttributes(installations, attributes);
    assertThat(statistics.gcmMessage.getData().get("alert"), is(ALERT_MESSAGE));
    assertThat(statistics.gcmMessage.getData().get("hello"), is("aerogear"));
    assertThat(statistics.gcmMessage.getData().get("aerogear"), is("rulez!"));
}

[Buggy Hunk]
statistics = selectiveSendByAliasesWithAttributes(installations, attributes);

[Patch]
statistics = selectiveSendByAliasesWithUserData(installations, attributes);

[Demonstration 3]

[Buggy Method]
@Test
public void returnEmptySysPropsWhenPropsFileDoesNotContainsAnySysProp() {
    Properties p = new Properties();
    p.put("Prop1", "val1");
    p.put("prop2", "val2");
    PowerMockito.when(Props.getProps()).thenReturn(p);
    assertThat(downloadManager.getSystemProperties().isEmpty(), is(true));
}

[Buggy Hunk]
assertThat(downloadManager.getSystemProperties().isEmpty(), is(true));

[Patch]
assertThat(fileSystemAppDownloadManager.getSystemProperties().isEmpty(), is(true));