diff options
Diffstat (limited to 'espresso/espresso-sample/src/androidTest/java/com/google/android/apps/common/testing/ui/testapp/AdvancedSynchronizationTest.java')
-rw-r--r-- | espresso/espresso-sample/src/androidTest/java/com/google/android/apps/common/testing/ui/testapp/AdvancedSynchronizationTest.java | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/espresso/espresso-sample/src/androidTest/java/com/google/android/apps/common/testing/ui/testapp/AdvancedSynchronizationTest.java b/espresso/espresso-sample/src/androidTest/java/com/google/android/apps/common/testing/ui/testapp/AdvancedSynchronizationTest.java deleted file mode 100644 index d19fb69..0000000 --- a/espresso/espresso-sample/src/androidTest/java/com/google/android/apps/common/testing/ui/testapp/AdvancedSynchronizationTest.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * 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. - */ - -package com.google.android.apps.common.testing.ui.testapp; - -import static com.google.android.apps.common.testing.ui.espresso.Espresso.onView; -import static com.google.android.apps.common.testing.ui.espresso.Espresso.registerIdlingResources; -import static com.google.android.apps.common.testing.ui.espresso.action.ViewActions.click; -import static com.google.android.apps.common.testing.ui.espresso.assertion.ViewAssertions.matches; -import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.withId; -import static com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers.withText; -import static com.google.common.base.Preconditions.checkNotNull; - -import com.google.android.apps.common.testing.ui.espresso.contrib.CountingIdlingResource; -import com.google.android.apps.common.testing.ui.testapp.SyncActivity.HelloWorldServer; - -import android.test.ActivityInstrumentationTestCase2; -import android.test.suitebuilder.annotation.LargeTest; - -/** - * Example for {@link CountingIdlingResource}. Demonstrates how to wait on a delayed response from - * request before continuing with a test. - */ -@LargeTest -public class AdvancedSynchronizationTest extends ActivityInstrumentationTestCase2<SyncActivity> { - - private class DecoratedHelloWorldServer implements HelloWorldServer { - private final HelloWorldServer realHelloWorldServer; - private final CountingIdlingResource helloWorldServerIdlingResource; - - private DecoratedHelloWorldServer(HelloWorldServer realHelloWorldServer, - CountingIdlingResource helloWorldServerIdlingResource) { - this.realHelloWorldServer = checkNotNull(realHelloWorldServer); - this.helloWorldServerIdlingResource = checkNotNull(helloWorldServerIdlingResource); - } - - @Override - public String getHelloWorld() { - // Use CountingIdlingResource to track in-flight calls to getHelloWorld (a simulation of a - // network call). Whenever the count goes to zero, Espresso will be notified that this - // resource is idle and the test will be able to proceed. - helloWorldServerIdlingResource.increment(); - try { - return realHelloWorldServer.getHelloWorld(); - } finally { - helloWorldServerIdlingResource.decrement(); - } - } - } - - @SuppressWarnings("deprecation") - public AdvancedSynchronizationTest() { - // This constructor was deprecated - but we want to support lower API levels. - super("com.google.android.apps.common.testing.ui.testapp", SyncActivity.class); - } - - @Override - public void setUp() throws Exception { - super.setUp(); - SyncActivity activity = getActivity(); - HelloWorldServer realServer = activity.getHelloWorldServer(); - // Here, we use CountingIdlingResource - a common convenience class - to track the idle state of - // the server. You could also do this yourself, by implementing the IdlingResource interface. - CountingIdlingResource countingResource = new CountingIdlingResource("HelloWorldServerCalls"); - activity.setHelloWorldServer(new DecoratedHelloWorldServer(realServer, countingResource)); - registerIdlingResources(countingResource); - } - - public void testCountingIdlingResource() { - // Request the "hello world!" text by clicking on the request button. - onView(withId(R.id.request_button)).perform(click()); - - // Espresso waits for the resource to go idle and then continues. - - // The check if the text is visible can pass now. - onView(withId(R.id.status_text)).check(matches(withText(R.string.hello_world))); - } -} |