[Demonstration 1]

[Buggy Method]
@Test
public void test_List() {
    EnumerateList list = new EnumerateList();
    list.addItem("item 1");
    list.addItem("item 2");
    list.addItem("item 3");
    System.err.println(list.render() + "\n");
    EnumerateList list2 = new EnumerateList();
    list2.addItem("two item 1");
    list2.addItem("two item 2");
    list2.addItem("two item 3");
    list.addItem(list2);
    System.err.println(list.render() + "\n");
    list.setListStyle(NestedEnumerateStyles.aLL_roman_ascii);
    list.addItem("item 4");
    EnumerateList list3 = new EnumerateList();
    list3.addItem("three item 1");
    list3.addItem("three item 2");
    list3.addItem("three item 3");
    list3.setPostLabelString(")");
    list.addItem(list3);
    System.err.println(list.render() + "\n");
    list.setListStyle(NestedEnumerateStyles.arabic_Alpha_alpha_Roman_roman);
    System.err.println(list.render() + "\n");
}

[Buggy Hunk]
list.setListStyle(NestedEnumerateStyles.aLL_roman_ascii);

[Patch]
list.setListStyle(NestedEnumerateStyles.all_roman_ascii);

[Demonstration 2]

[Buggy Method]
public void testLogoIsDisplayed() {
    closeSoftKeyboard();
    onView(withId(R.id.imageViewLogo)).check(matches(isDisplayed()));
}

[Buggy Hunk]
onView(withId(R.id.imageViewLogo)).check(matches(isDisplayed()));

[Patch]
onView(withId(R.id.imageViewLogo)).perform(ViewActions.scrollTo()).check(matches(isDisplayed()));

[Demonstration 3]

[Buggy Method]
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
    swipeRefreshLayout.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimary);
    swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {

        @Override
        public void onRefresh() {
            refreshList();
            new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {
                    swipeRefreshLayout.setRefreshing(false);
                }
            }, 1500);
        }
    });
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
    recyclerView = (RecyclerView) findViewById(R.id.rv);
    recyclerView.setLayoutManager(linearLayoutManager);
    FadeInRightAnimator animator = new FadeInRightAnimator();
    animator.setAddDuration(500);
    animator.setRemoveDuration(500);
    recyclerView.setItemAnimator(animator);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    refreshList();
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(final View view) {
            LayoutInflater li = LayoutInflater.from(context);
            View promptsView = li.inflate(R.layout.add_prompt, null);
            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
            alertDialogBuilder.setView(promptsView);
            macPrompt = (EditText) promptsView.findViewById(R.id.macPrompt);
            IPPrompt = (EditText) promptsView.findViewById(R.id.IPPrompt);
            aliasPrompt = (EditText) promptsView.findViewById(R.id.aliasPrompt);
            alertDialogBuilder.setCancelable(false).setTitle("Add a device").setPositiveButton("Add", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int id) {
                    boolean exists = false;
                    DeviceData deviceData = new DeviceData(macPrompt.getText().toString().trim(), IPPrompt.getText().toString().trim(), aliasPrompt.getText().toString().trim());
                    for (int i = 0; i < dataList.size(); i++) {
                        DeviceData temp = dataList.get(i);
                        if (temp.MAC.equalsIgnoreCase(macPrompt.getText().toString().trim())) {
                            exists = true;
                        }
                    }
                    //Validation
                    if (!exists) {
                        deviceData.save();
                        dataList.add(deviceData);
                        adapter.addItem();
                    } else {
                        Toast.makeText(context, "Device exists", Toast.LENGTH_LONG).show();
                    }
                }
            }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                }
            });
            // create alert dialog
            AlertDialog alertDialog = alertDialogBuilder.create();
            // show it
            alertDialog.show();
        }
    });
}

[Buggy Hunk]
adapter.addItem();

[Patch]
dataList = adapter.addItem();