package course.labs.todomanager.tests;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Solo;
import course.labs.todomanager.ToDoManagerActivity;
public class Test3_CancelTest extends
ActivityInstrumentationTestCase2<ToDoManagerActivity> {
private Solo solo;
public Test3_CancelTest() {
super(ToDoManagerActivity.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(),getActivity());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
// Executes the CancelTest
public void testRun() {
int delay = 2000;
// Wait for activity: 'course.labs.todomanager.ToDoManagerActivity'
assertTrue("CancelTest failed:" +
"Section One:" +
"ToDoManagerActivity did not load correctly.",
solo.waitForActivity(
course.labs.todomanager.ToDoManagerActivity.class));
// Click on action bar item
solo.clickOnActionBarItem(0x1);
solo.sleep(delay);
//Get footer view
assertTrue("FooterView didn't appear", solo.waitForView(course.labs.todomanager.R.id.footerView));
// Click on Add New ToDo Item
solo.clickOnView(solo.getView(course.labs.todomanager.R.id.footerView));
// Wait for activity: 'course.labs.todomanager.AddToDoActivity'
assertTrue("CancelTest failed:" +
"Section One:" +
"AddToDoActivity did not load correctly.",
solo.waitForActivity(course.labs.todomanager.AddToDoActivity.class));
// Hide the soft keyboard
solo.hideSoftKeyboard();
// Enter the text: 't3'
solo.clearEditText((android.widget.EditText) solo
.getView(course.labs.todomanager.R.id.title));
solo.enterText((android.widget.EditText) solo
.getView(course.labs.todomanager.R.id.title), "t3");
// Hide the soft keyboard
solo.hideSoftKeyboard();
// Click on Done:
solo.clickOnView(solo.getView(course.labs.todomanager.R.id.statusDone));
// Click on High
solo.clickOnView(solo
.getView(course.labs.todomanager.R.id.highPriority));
// Click on Cancel
solo.clickOnView(solo
.getView(course.labs.todomanager.R.id.cancelButton));
// Wait for activity: 'course.labs.todomanager.AddToDoActivity'
assertTrue("Cancel test failed:" + "Section One:"
+ "AddToDoActivity did not correctly load.",
solo.waitForActivity(
course.labs.todomanager.AddToDoActivity.class));
// Click on Add New ToDo Item
solo.clickOnView(solo.getView(course.labs.todomanager.R.id.footerView));
// Wait for activity: 'course.labs.todomanager.AddToDoActivity'
assertTrue("CancelTest failed:" +
"Section One:" +
"AddToDoActivity did not load correctly.",
solo.waitForActivity(course.labs.todomanager.AddToDoActivity.class));
// Hide the soft keyboard
solo.hideSoftKeyboard();
// Enter the text: 't4'
solo.clearEditText((android.widget.EditText) solo
.getView(course.labs.todomanager.R.id.title));
solo.enterText((android.widget.EditText) solo
.getView(course.labs.todomanager.R.id.title), "t4");
// Hide the soft keyboard
solo.hideSoftKeyboard();
// Click on Done:
solo.clickOnView(solo.getView(course.labs.todomanager.R.id.statusDone));
// Click on Low
solo.clickOnView(solo.getView(course.labs.todomanager.R.id.lowPriority));
// Click on Submit
solo.clickOnView(solo
.getView(course.labs.todomanager.R.id.submitButton));
// ================ Section Two ===================
// Wait for activity: 'course.labs.todomanager.ToDoManagerActivity'
assertTrue("CancelTest failed:" +
"Section Two:" +
"ToDoManagerActivity did not load correctly.",
solo.waitForActivity(course.labs.todomanager.ToDoManagerActivity.class));
assertFalse("CancelTest failed:" +
"Section Two:" +
"Did not correctly cancel the creation of a ToDo Task.",
solo.searchText("t3"));
assertTrue("CancelTest failed:" +
"Section Two:" +
"Did not correctly set title of ToDo Task following cancel.",
solo.searchText("t4"));
assertTrue("CancelTest failed:" +
"Section Two:" +
"Did not correctly set priority of ToDo Task following cancel.",
solo.searchText("[lL][oO][wW]"));
}
}