package course.labs.notificationslab.tests;
import android.test.ActivityInstrumentationTestCase2;
import android.view.View;
import com.robotium.solo.Condition;
import com.robotium.solo.Solo;
import course.labs.notificationslab.TestFrontEndActivity;
public class NewFeedTest extends
ActivityInstrumentationTestCase2<TestFrontEndActivity> {
private Solo solo;
public NewFeedTest() {
super(TestFrontEndActivity.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
public void testRun() {
int shortDelay = 5000;
int longDelay = 10000;
// Wait for activity:
// 'course.labs.notificationslab.TestFrontEndActivity'
solo.waitForActivity(
course.labs.notificationslab.TestFrontEndActivity.class,
shortDelay);
// Click on Make Tweets New
solo.clickOnView(solo
.getView(course.labs.notificationslab.R.id.rejuv_tweets_button));
// Click on Start Main Activity
solo.clickOnView(solo
.getView(course.labs.notificationslab.R.id.start_main_button));
// Wait for activity:
// 'course.labs.threadslab.MainActivity'
solo.waitForActivity(course.labs.notificationslab.MainActivity.class,
shortDelay);
solo.waitForView(android.R.id.list);
final View listView = solo.getView(android.R.id.list);
solo.waitForCondition(new Condition() {
@Override
public boolean isSatisfied() {
return listView.isEnabled();
}
}, longDelay);
// Click on taylorswift13
solo.clickOnView(solo.getView(android.R.id.text1));
// Assert that: 'feed_view' is shown
assertTrue("feed_view not shown!", solo.waitForView(solo
.getView(course.labs.notificationslab.R.id.feed_view)));
// Assert that: 'Taylor Swift' is shown
assertTrue("'Taylor Swift' is not shown!",
solo.searchText("Taylor Swift"));
}
}