package course.labs.todomanager.tests; import android.test.ActivityInstrumentationTestCase2; import com.robotium.solo.Solo; import course.labs.todomanager.ToDoManagerActivity; public class Test2_DateTimeTest extends ActivityInstrumentationTestCase2<ToDoManagerActivity> { private Solo solo; public Test2_DateTimeTest() { super(ToDoManagerActivity.class); } protected void setUp() throws Exception { solo = new Solo(getInstrumentation()); getActivity(); } protected void tearDown() throws Exception { solo.finishOpenedActivities(); } // Executes DateTimeTest public void testRun() { int delay = 2000; // ============== Section One ================ // Wait for activity: 'course.labs.todomanager.ToDoManagerActivity' assertTrue("DateTimeTest failed:" + "Section One:" + "ToDoManagerActivity did not correctly load.", solo.waitForActivity( course.labs.todomanager.ToDoManagerActivity.class)); // Click on action bar item to delete all items 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("DateTimeTest failed:" + "Section One:" + "AddToDoActivity did not correctly load.", solo.waitForActivity(course.labs.todomanager.AddToDoActivity.class)); // Hide the soft keyboard solo.hideSoftKeyboard(); // Enter the text: 't1' 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), "t1"); // 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 Choose Date solo.clickOnView(solo .getView(course.labs.todomanager.R.id.date_picker_button)); // Wait for dialog solo.waitForDialogToOpen(10000); // Enter the text: 'Feb' solo.clearEditText((android.widget.EditText) solo .getView("numberpicker_input")); solo.enterText( (android.widget.EditText) solo.getView("numberpicker_input"), "Feb"); // Enter the text: '28' solo.clearEditText((android.widget.EditText) solo.getView( "numberpicker_input", 1)); solo.enterText( (android.widget.EditText) solo.getView("numberpicker_input", 1), "28"); // Enter the text: '2014' solo.clearEditText((android.widget.EditText) solo.getView( "numberpicker_input", 2)); solo.enterText( (android.widget.EditText) solo.getView("numberpicker_input", 2), "2014"); // Really set the date solo.setDatePicker(0, 2014, 1, 28); // Click on Done solo.clickOnView(solo.getView(android.R.id.button1)); solo.sleep(delay); // Click on Choose Time solo.clickOnView(solo .getView(course.labs.todomanager.R.id.time_picker_button)); // Wait for dialog solo.waitForDialogToOpen(10000); // Enter the text: '9' solo.clearEditText((android.widget.EditText) solo .getView("numberpicker_input")); solo.enterText( (android.widget.EditText) solo.getView("numberpicker_input"), "9"); // Enter the text: '19' solo.clearEditText((android.widget.EditText) solo.getView( "numberpicker_input", 1)); solo.enterText( (android.widget.EditText) solo.getView("numberpicker_input", 1), "19"); // Really set the time solo.setTimePicker(0, 9, 19); // Click on Done solo.clickOnView(solo.getView(android.R.id.button1)); solo.sleep(delay); // Click on Submit solo.clickOnView(solo .getView(course.labs.todomanager.R.id.submitButton)); // Wait for activity: 'course.labs.todomanager.ToDoManagerActivity' assertTrue("DateTimeTest failed:" + "Section One:" + "ToDoManagerActivity did not load correctly", solo.waitForActivity( course.labs.todomanager.ToDoManagerActivity.class)); // ============== Section Two ============= // Makes sure the title was changed correctly assertTrue("DateTimeTest failed:" + "Section Two:" + "Did not modify title correctly",solo.searchText("t1")); // Checks to see if the status was changed correctly assertTrue("DateTimeTest failed:" + "Section Two:" + "Did not change status correctly",solo.isCheckBoxChecked(0)); // Checks to make sure the priority was correctly set assertTrue("DateTimeTest failed:" + "Section Two:" + "Did not correctly set priority",solo.searchText("[lL][oO][wW]")); // Checks to make sure the Date was correctly set assertTrue("DateTimeTest failed:" + "Section Two:" + "Did not correctly set the date",solo.searchText("2014-02-28")); // Checks to make sure the Time was correctly set assertTrue("DateTimeTest failed:" + "Section Two:" + "Did not correctly set the time",solo.searchText("09:19:00")); } }