package edu.washington.geopost.test; import org.junit.Before; import org.junit.Test; import android.annotation.SuppressLint; import android.app.Instrumentation.ActivityMonitor; import android.content.Context; import android.location.Location; import android.location.LocationManager; import android.test.ActivityInstrumentationTestCase2; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.Button; import android.widget.Spinner; import com.parse.ParseUser; import com.robotium.solo.Solo; import edu.washington.geopost.MainActivity; public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { private MainActivity activity; private Solo solo; private static final String TAG = "MainActivityTest"; //The below integers represent the position of the //corresponding option in the pin sorting spinner. //These values can be found in res/values/stringarrays.xml private static final int ALL_POSTS = 0; private static final int VIEWED_POSTS = 2; private static final int LOCKED_POSTS = 3; private static final int MY_POSTS = 4; private static final int FRIENDS_POSTS = 1; public MainActivityTest() { super(MainActivity.class); } @Override protected void setUp() throws Exception { super.setUp(); activity = getActivity(); solo = new Solo(getInstrumentation(), activity); assertTrue(activity.isIncludeViewed()); assertTrue(activity.isIncludeLocked()); assertTrue(activity.isIncludePosted()); assertTrue(activity.isIncludeFriends()); } @Override protected void tearDown() throws Exception { super.tearDown(); } @Test public void testPreconditions() { assertNotNull("activity is null", activity); } @Test public void testPostButtonMessage() { final String expected = activity.getString(edu.washington.geopost.R.string.button_message); Button postButton = (Button) activity.findViewById(edu.washington.geopost.R.id.post_button); final String actual = postButton.getText().toString(); assertEquals(expected, actual); } @Test public void testAllPostsSelected() { View view = solo.getView(Spinner.class, ALL_POSTS); solo.clickOnView(view); assertTrue(activity.isIncludeViewed()); assertTrue(activity.isIncludeLocked()); assertTrue(activity.isIncludePosted()); assertTrue(activity.isIncludeFriends()); } @Test public void testViewedPostsSelected() { View view = solo.getView(Spinner.class, VIEWED_POSTS); solo.clickOnView(view); assertTrue(activity.isIncludeViewed()); assertFalse(activity.isIncludeLocked()); assertFalse(activity.isIncludePosted()); assertFalse(activity.isIncludeFriends()); } @Test public void testLockedPostsSelected() { View view = solo.getView(Spinner.class, LOCKED_POSTS); solo.clickOnView(view); assertFalse(activity.isIncludeViewed()); assertTrue(activity.isIncludeLocked()); assertFalse(activity.isIncludePosted()); assertFalse(activity.isIncludeFriends()); } @Test public void testMyPostsSelected() { View view = solo.getView(Spinner.class, MY_POSTS); solo.clickOnView(view); assertFalse(activity.isIncludeViewed()); assertFalse(activity.isIncludeLocked()); assertTrue(activity.isIncludePosted()); assertFalse(activity.isIncludeFriends()); } @Test public void testFriendsPostsSelected() { View view = solo.getView(Spinner.class, FRIENDS_POSTS); solo.clickOnView(view); assertTrue(activity.isIncludeViewed()); assertTrue(activity.isIncludeLocked()); assertFalse(activity.isIncludePosted()); assertTrue(activity.isIncludeFriends()); } @Test public void testPostButtonClickOpensFragment() { //solo.waitForActivity(MainActivity.class.getName()); solo.clickOnText("Post"); solo.clickOnText("Cancel"); } @Test public void testMockPost() { //solo.waitForActivity(MainActivity.class.getName()); solo.clickOnText("Post"); solo.clickOnEditText(0); solo.enterText(0, "Test Post. Please Ignore Param 2"); solo.clickOnText("Post"); } }