@UiThreadTest @Test public void testCancelInMainThread() { SubscriberMainThread subscriber = new SubscriberMainThread(); eventBus.register(subscriber); eventBus.post("42"); awaitLatch(subscriber.done, 10); assertEquals(0, eventCount.intValue()); assertNotNull(failed); }
@UiThreadTest public void testPushReplace() throws Exception { FragmentManager manager = activity.getSupportFragmentManager(); FragmentStack stack = new FragmentStack(activity, manager, CONTAINER_ID); TestFragment1 fragment = new TestFragment1(); stack.push(fragment); TestFragment2 fragment2 = new TestFragment2(); stack.push(fragment2); TestFragment1 fragment3 = new TestFragment1(); stack.replace(fragment3); assertTopFragment(manager, stack, fragment3, 0); assertNull(manager.findFragmentByTag("1")); }
@UiThreadTest public void testReplace() throws Exception { FragmentManager manager = activity.getSupportFragmentManager(); FragmentStack stack = new FragmentStack(activity, manager, CONTAINER_ID); TestFragment1 fragment = new TestFragment1(); stack.replace(fragment); assertTopFragment(manager, stack, fragment, 0); TestFragment2 fragment2 = new TestFragment2(); stack.replace(fragment2); assertTopFragment(manager, stack, fragment2, 0); }
@UiThreadTest public void testFindCallback() throws Exception { FragmentManager manager = activity.getSupportFragmentManager(); FragmentStack stack = new FragmentStack(activity, manager, CONTAINER_ID); TestFragmentC fragment = new TestFragmentC(); stack.push(fragment); TestFragment2 fragment2 = new TestFragment2(); stack.push(fragment2); assertEquals(fragment, stack.findCallback(fragment2, TestCallback.class)); assertEquals(activity, stack.findCallback(fragment2, Activity.class)); assertNull(stack.findCallback(fragment2, String.class)); }
@UiThreadTest public void testPushPop() throws Exception { FragmentManager manager = activity.getSupportFragmentManager(); FragmentStack stack = new FragmentStack(activity, manager, CONTAINER_ID); TestFragment1 fragment = new TestFragment1(); stack.push(fragment); assertTopFragment(manager, stack, fragment, 0); TestFragment2 fragment2 = new TestFragment2(); stack.push(fragment2); assertFragment(manager, fragment, 0); assertTopFragment(manager, stack, fragment2, 1); assertFalse(fragment.isAdded()); assertTrue(fragment2.isAdded()); assertTrue(stack.pop()); assertTopFragment(manager, stack, fragment, 0); assertNull(manager.findFragmentByTag("1")); assertFalse(stack.pop()); assertTopFragment(manager, stack, fragment, 0); }
@UiThreadTest public void testBack() throws Exception { FragmentManager manager = activity.getSupportFragmentManager(); FragmentStack stack = new FragmentStack(activity, manager, CONTAINER_ID); assertFalse(stack.back()); stack.push(new TestFragment1()); assertEquals(1, stack.size()); assertFalse(stack.back()); stack.push(new TestFragment1()); assertEquals(2, stack.size()); assertTrue(stack.back()); assertEquals(1, stack.size()); }
@UiThreadTest public void testSave() {
@UiThreadTest @SmallTest public void testListenerGarbageCollected() throws Exception { final AtomicBoolean called = new AtomicBoolean(); uut.registerIntChangeListener(new OnPreferenceValueChangedListener<Integer>() { @Override public void onChanged(Integer newValue) { called.set(true); } }); // nasty, but it does force collection of soft references... // TODO is there a better way to do this? try { Object[] ignored = new Object[(int) Runtime.getRuntime().maxMemory()]; } catch (OutOfMemoryError e) { // NOP } uut.setInt(1); assertFalse(called.get()); } }
@UiThreadTest @SmallTest public void testIntChanged() { final AtomicInteger value = new AtomicInteger(-1); final OnPreferenceValueChangedListener<Integer> listener = new OnPreferenceValueChangedListener<Integer>() { @Override public void onChanged(Integer newValue) { value.set(newValue); } }; uut.registerIntChangeListener(listener); uut.setInt(1); assertEquals(1, value.get()); }
/** * Verify that the UI flags actually changed when the toggle method is called. */ @UiThreadTest public void testFlagsChanged() { int uiFlags = getActivity().getWindow().getDecorView().getSystemUiVisibility(); mTestFragment.mImmersiveModeCheckBox.setChecked(true); mTestFragment.mHideNavCheckbox.setChecked(true); mTestFragment.mHideStatusBarCheckBox.setChecked(true); mTestFragment.toggleUiFlags(); int newUiFlags = getActivity().getWindow().getDecorView().getSystemUiVisibility(); assertTrue("UI Flags didn't toggle.", uiFlags != newUiFlags); } }
@UiThreadTest @SmallTest public void testIntUnregistered() { final AtomicBoolean called = new AtomicBoolean(); final OnPreferenceValueChangedListener<Integer> listener = new OnPreferenceValueChangedListener<Integer>() { @Override public void onChanged(Integer newValue) { called.set(true); } }; uut.registerIntChangeListener(listener); uut.unregisterIntChangeListener(listener); uut.setInt(1); assertFalse(called.get()); }
@UiThreadTest @SmallTest public void testIntChangedVarArgs() { final AtomicInteger count = new AtomicInteger(2); final OnPreferenceValueChangedListener<Integer> one = new OnPreferenceValueChangedListener<Integer>() { @Override public void onChanged(Integer newValue) { assertEquals(1, newValue.intValue()); count.decrementAndGet(); } }; final OnPreferenceValueChangedListener<Integer> two = new OnPreferenceValueChangedListener<Integer>() { @Override public void onChanged(Integer newValue) { assertEquals(1, newValue.intValue()); count.decrementAndGet(); } }; uut.registerIntChangeListenerVarArgs(one, two); uut.setInt(1); assertEquals(0, count.get()); }
@UiThreadTest @SmallTest public void testCustomClassChanged() { final AtomicReference<CustomClass> value = new AtomicReference<>(); final OnPreferenceValueChangedListener<CustomClass> listener = new OnPreferenceValueChangedListener<CustomClass>() { @Override public void onChanged(CustomClass newValue) { value.set(newValue); } }; uut.registerCustomClassChangeListener(listener); uut.setCustomClass(new CustomClass("a", "b")); assertEquals(new CustomClass("a", "b"), value.get()); }
@UiThreadTest @SmallTest public void testCustomClassChangedNull() { final AtomicReference<CustomClass> value = new AtomicReference<>(); final OnPreferenceValueChangedListener<CustomClass> listener = new OnPreferenceValueChangedListener<CustomClass>() { @Override public void onChanged(CustomClass newValue) { value.set(newValue); } }; uut.setCustomClass(new CustomClass("a", "b")); uut.registerCustomClassChangeListener(listener); uut.setCustomClass(null); assertNull(value.get()); }
@UiThreadTest @SmallTest public void testIntUnregisteredVarArgs() { final AtomicInteger count = new AtomicInteger(2); final OnPreferenceValueChangedListener<Integer> one = new OnPreferenceValueChangedListener<Integer>() { @Override public void onChanged(Integer newValue) { count.decrementAndGet(); } }; final OnPreferenceValueChangedListener<Integer> two = new OnPreferenceValueChangedListener<Integer>() { @Override public void onChanged(Integer newValue) { count.decrementAndGet(); } }; uut.registerIntChangeListenerVarArgs(one, two); uut.unregisterIntChangeListenerVarArgs(one, two); uut.setInt(1); assertEquals(2, count.get()); }
@UiThreadTest @SmallTest public void testCustomClassUnregistered() { final AtomicBoolean called = new AtomicBoolean(); final OnPreferenceValueChangedListener<CustomClass> listener = new OnPreferenceValueChangedListener<CustomClass>() { @Override public void onChanged(CustomClass newValue) { called.set(true); } }; uut.registerCustomClassChangeListener(listener); uut.unregisterCustomClassChangeListener(listener); uut.setCustomClass(new CustomClass("a", "b")); assertFalse(called.get()); }
@UiThreadTest @SmallTest public void testIntChangedMultiple() { final AtomicInteger count = new AtomicInteger(2); final OnPreferenceValueChangedListener<Integer> one = new OnPreferenceValueChangedListener<Integer>() { @Override public void onChanged(Integer newValue) { assertEquals(1, newValue.intValue()); count.decrementAndGet(); } }; final OnPreferenceValueChangedListener<Integer> two = new OnPreferenceValueChangedListener<Integer>() { @Override public void onChanged(Integer newValue) { assertEquals(1, newValue.intValue()); count.decrementAndGet(); } }; uut.registerIntChangeListener(one); uut.registerIntChangeListener(two); uut.setInt(1); assertEquals(0, count.get()); }
@UiThreadTest @SmallTest public void testCustomClassChangedMultiple() { final AtomicInteger count = new AtomicInteger(2); final OnPreferenceValueChangedListener<CustomClass> one = new OnPreferenceValueChangedListener<CustomClass>() { @Override public void onChanged(CustomClass newValue) { assertEquals(new CustomClass("a", "b"), newValue); count.decrementAndGet(); } }; final OnPreferenceValueChangedListener<CustomClass> two = new OnPreferenceValueChangedListener<CustomClass>() { @Override public void onChanged(CustomClass newValue) { assertEquals(new CustomClass("a", "b"), newValue); count.decrementAndGet(); } }; uut.registerCustomClassChangeListener(one); uut.registerCustomClassChangeListener(two); uut.setCustomClass(new CustomClass("a", "b")); assertEquals(0, count.get()); }
/** * Test if all Interpolators can be used to start an animation. */ @UiThreadTest public void testStartInterpolators() { // Start an animation for each interpolator final Interpolator[] interpolators = mTestFragment.getInterpolators(); for (final Interpolator i : interpolators) { // Start the animation ObjectAnimator animator = mTestFragment.startAnimation(i, 1000L, mTestFragment.getPathIn()); // Check that the correct interpolator is used for the animation assertEquals(i, animator.getInterpolator()); // Verify the animation has started assertTrue(animator.isStarted()); // Cancel before starting the next animation animator.cancel(); } } }