FileDocCategorySizeDatePackage
ListLastItemPartiallyVisibleTest.javaAPI DocAndroid 1.5 API3090Wed May 06 22:42:02 BST 2009com.android.frameworktest.listview.arrowscroll

ListLastItemPartiallyVisibleTest

public class ListLastItemPartiallyVisibleTest extends android.test.ActivityInstrumentationTestCase

Fields Summary
private android.widget.ListView
mListView
private int
mListBottom
Constructors Summary
public ListLastItemPartiallyVisibleTest()

        super("com.android.frameworktest", ListLastItemPartiallyVisible.class);
    
Methods Summary
protected voidsetUp()

        super.setUp();
        mListView = getActivity().getListView();
        mListBottom = mListView.getHeight() - mListView.getPaddingBottom();
    
public voidtestMovingDownToFullyVisibleNoScroll()

        final View firstChild = mListView.getChildAt(0);
        final int firstBottom = firstChild.getBottom();
        sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
        assertEquals("shouldn't have scrolled: bottom of first child changed.",
                firstBottom, firstChild.getBottom());
    
public voidtestMovingUpToFullyVisibleNoScroll()

        int numMovesToLast = mListView.getCount() - 1;
        for (int i = 0; i < numMovesToLast; i++) {
            sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
        }
        assertEquals("should have moved to last position",
                mListView.getChildCount() - 1, mListView.getSelectedItemPosition());

        final View lastChild = mListView.getSelectedView();
        final int lastTop = lastChild.getTop();
        sendKeys(KeyEvent.KEYCODE_DPAD_UP);
        assertEquals("shouldn't have scrolled: top of last child changed.",
                lastTop, lastChild.getTop());
    
public voidtestPreconditions()

        assertEquals("number of elements visible should be the same as number of items " +
                "in adapter", mListView.getCount(), mListView.getChildCount());

        final View lastChild = mListView.getChildAt(mListView.getChildCount() - 1);
        assertTrue("last item should be partially off screen",
                lastChild.getBottom() > mListBottom);
        assertEquals("selected position", 0, mListView.getSelectedItemPosition());