package com.appdynamics.demo.gasp.activity;
import android.app.Activity;
import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
import com.appdynamics.demo.gasp.R;
import java.lang.Exception;
/**
* Copyright (c) 2013 Mark Prichard
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
public class LocationsActivityTest extends ActivityInstrumentationTestCase2<LocationsActivity> {
static final String TAG = LocationsActivityTest.class.getName();
private LocationsActivity mActivity;
public LocationsActivityTest() {
super(LocationsActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
mActivity = getActivity();
}
private void testOptionsMenuStartActivity(String className, int id){
Instrumentation.ActivityMonitor am = getInstrumentation().addMonitor(className, null, false);
// Simulate Options Menu -> {id}
getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);
getInstrumentation().invokeMenuActionSync(mActivity, id, 0);
// Check Activity started correctly
Activity a = getInstrumentation().waitForMonitorWithTimeout(am, 3000);
assertEquals(true, getInstrumentation().checkMonitorHit(am, 1));
a.finish();
}
/*
public void testOptionsMenuRestaurants() throws Throwable {
testOptionsMenuStartActivity(RestaurantListActivity.class.getName(), R.id.gasp_restaurants_data);
}
public void testOptionsMenuReviews() throws Exception {
testOptionsMenuStartActivity(ReviewListActivity.class.getName(), R.id.gasp_reviews_data);
}
public void testOptionsMenuUsers() throws Exception {
testOptionsMenuStartActivity(UserListActivity.class.getName(), R.id.gasp_users_data);
}
*/
public void testOptionsMenuTwitter() throws Exception {
testOptionsMenuStartActivity(TwitterStreamActivity.class.getName(), R.id.gasp_menu_twitter);
}
public void testOptionsMenuPreferences() throws Exception {
testOptionsMenuStartActivity(SetPreferencesActivity.class.getName(), R.id.gasp_settings);
}
public void testOptionsMenuGaspData() throws Exception {
testOptionsMenuStartActivity(GaspDataActivity.class.getName(), R.id.gasp_data);
}
}