diff options
Diffstat (limited to 'espresso/espresso-lib-tests/src/androidTest/java/com/google/android/apps/common/testing/ui/espresso/contrib/CountingIdlingResourceTest.java')
-rw-r--r-- | espresso/espresso-lib-tests/src/androidTest/java/com/google/android/apps/common/testing/ui/espresso/contrib/CountingIdlingResourceTest.java | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/espresso/espresso-lib-tests/src/androidTest/java/com/google/android/apps/common/testing/ui/espresso/contrib/CountingIdlingResourceTest.java b/espresso/espresso-lib-tests/src/androidTest/java/com/google/android/apps/common/testing/ui/espresso/contrib/CountingIdlingResourceTest.java deleted file mode 100644 index 8bd2d11..0000000 --- a/espresso/espresso-lib-tests/src/androidTest/java/com/google/android/apps/common/testing/ui/espresso/contrib/CountingIdlingResourceTest.java +++ /dev/null @@ -1,120 +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.espresso.contrib; - -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.verify; -import static org.mockito.MockitoAnnotations.initMocks; - -import com.google.android.apps.common.testing.ui.espresso.IdlingResource.ResourceCallback; - -import android.test.InstrumentationTestCase; - -import org.mockito.Mock; - -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.FutureTask; - -/** Unit tests for {@link CountingIdlingResource}. */ -public class CountingIdlingResourceTest extends InstrumentationTestCase { - - private static final String RESOURCE_NAME = "test_resource"; - private CountingIdlingResource resource; - - @Mock - private ResourceCallback mockCallback; - - @Override - public void setUp() throws Exception { - super.setUp(); - initMocks(this); - resource = new CountingIdlingResource(RESOURCE_NAME, true); - } - - public void testResourceName() { - assertEquals(RESOURCE_NAME, resource.getName()); - } - - public void testInvalidStateDetected() throws Exception { - resource.increment(); - resource.decrement(); - try { - resource.decrement(); - fail("Should throw illegal state exception!"); - } catch (IllegalStateException expected) { } - } - - public void testIsIdle() throws Exception { - assertTrue(callIsIdle()); - resource.increment(); - assertFalse(callIsIdle()); - resource.decrement(); - assertTrue(callIsIdle()); - } - - public void testIdleNotification() throws Exception { - registerIdleCallback(); - assertTrue(callIsIdle()); - verify(mockCallback, never()).onTransitionToIdle(); - - resource.increment(); - verify(mockCallback, never()).onTransitionToIdle(); - assertFalse(callIsIdle()); - - resource.decrement(); - verify(mockCallback).onTransitionToIdle(); - assertTrue(callIsIdle()); - } - - private void registerIdleCallback() throws Exception { - FutureTask<Void> registerTask = new FutureTask<Void>(new Callable<Void>() { - @Override - public Void call() throws Exception { - resource.registerIdleTransitionCallback(mockCallback); - return null; - } - - }); - getInstrumentation().runOnMainSync(registerTask); - try { - registerTask.get(); - } catch (ExecutionException ee) { - throw new RuntimeException(ee.getCause()); - } - - } - - private boolean callIsIdle() throws Exception { - FutureTask<Boolean> isIdleTask = new FutureTask<Boolean>(new IsIdleCallable()); - getInstrumentation().runOnMainSync(isIdleTask); - try { - return isIdleTask.get(); - } catch (ExecutionException ee) { - throw new RuntimeException(ee.getCause()); - } - } - - - private class IsIdleCallable implements Callable<Boolean> { - @Override - public Boolean call() throws Exception { - return resource.isIdleNow(); - } - } - -} |