@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 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 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); }