package course.labs.todomanager.tests;
import android.test.ActivityInstrumentationTestCase2;
import com.robotium.solo.Solo;
import course.labs.todomanager.ToDoManagerActivity;
public class Test4_ResetTest extends
ActivityInstrumentationTestCase2<ToDoManagerActivity> {
private Solo solo;
public Test4_ResetTest() {
super(ToDoManagerActivity.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
// Executes the ResetTest
public void testRun() {
int delay = 2000;
// ============= Section One ==============
// Wait for activity: 'course.labs.todomanager.ToDoManagerActivity'
assertTrue("ResetTest failed:" + "Section One:"
+ "ToDoManagerActivity did not correctly load.",
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("ResetTest failed:" + "Section One:"
+ "AddToDoActivity did not correctly load.",
solo.waitForActivity(
course.labs.todomanager.AddToDoActivity.class));
// Hide the soft keyboard
solo.hideSoftKeyboard();
// Enter the text: 't2'
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), "t2");
// 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 Reset
solo.clickOnView(solo.getView(course.labs.todomanager.R.id.resetButton));
solo.sleep(delay);
// Click on Submit
solo.clickOnView(solo
.getView(course.labs.todomanager.R.id.submitButton));
// ============= Section Two =================
// Checks that reset button reset the text
// Wait for activity: 'course.labs.todomanager.AddToDoActivity'
assertTrue("ResetTest failed:" + "Section Two:"
+ "AddToDoActivity did not correctly load.",
solo.waitForActivity(
course.labs.todomanager.AddToDoActivity.class));
assertFalse("ResetTest failed:" + "Section Two:"
+ "Title of ToDo Task was not correctly reset.",
solo.searchText("t2"));
// Makes sure that the check box is not checked
assertFalse("ResetTest failed:" + "SectionTwo:"
+ "Done status of ToDo Task was not correctly reset",
solo.isCheckBoxChecked(0));
// Makes sure that the priority was reset to Medium
assertTrue("ResetTest failed:" + "Section Two:"
+ "Priority of ToDo Task was not correctly reset",
solo.searchText("[mM][eE][dD]"));
// Clicks on the Done box
solo.clickOnCheckBox(0);
// Makes sure that was able to correctly change completion status from
// ToDoManagerActivity
assertTrue(
"ResetTest failed:"
+ "Section Two:"
+ "Was not able to modify Done status of ToDo Task from ToDoManagerActivity",
solo.isCheckBoxChecked(0));
}
}