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