ProviderTestCase2实例

来源:互联网 发布:keynote在windows播放 编辑:程序博客网 时间:2024/06/11 22:48
package com.pose.test;import android.content.ContentValues;import android.database.ContentObserver;import android.database.Cursor;import android.net.Uri;import android.os.Handler;import android.test.ProviderTestCase2;import android.test.mock.MockContentResolver;import android.util.Log;import com.pose.models.Item;import com.pose.providers.ItemsContentProvider;import com.pose.service.GSServiceHelper;public class ItemContentProviderTests extends ProviderTestCase2<ItemsContentProvider>{        private MockContentResolver mMockResolver;        private Class<ItemsContentProvider> mProviderClass;    private ItemsContentProvider mProvider;    private String mProviderAuthority;        public ItemContentProviderTests()        {                super(ItemsContentProvider.class, ItemsContentProvider.AUTHORITY);                setName("ItemsProviderTests");        mProviderClass = ItemsContentProvider.class;        mProviderAuthority = ItemsContentProvider.AUTHORITY;        }        @Override    protected void setUp() throws Exception    {         // We should not invoke super.setUp() here to avoid the UnsupportedOperationException.        super.setUp();                mMockResolver = getMockContentResolver();        mProvider = mProviderClass.newInstance();        assertNotNull(mProvider);        mProvider.attachInfo(getContext(), null);        mMockResolver.addProvider(mProviderAuthority, mProvider);    }    @Override    public ItemsContentProvider getProvider()    {        return mProvider;    }    protected void tearDown() throws Exception    {        super.tearDown();        //mMockResolver.delete(Item.CONTENT_URI,"id = id",null);    }    public void testProviderSampleCreation()    {        ItemsContentProvider provider = getProvider();        assertNotNull(provider);    }    public void testItemCreateRead()    {        ContentValues values = new ContentValues();        values.put(Item.MESSAGE, "Test Pose Zebra Zulu");        values.put(Item.LOVECOUNT, 0);        values.put(Item.ITEMID, 1);        values.put(Item.CREATOR, "{username: \"misslemonaid\", tagline: \"Sweet and Sour\", image_url: \"http://stag.pose.com/avatars/7df/7dff9c01483f4d719f2ce7bfb870a15e/medium_60.jpg\", id: 15315}");        @SuppressWarnings("unused")                Uri uri = mMockResolver.insert(Item.CONTENT_URI, values);        // Then query for this specific record:        Cursor cur = mMockResolver.query(Item.CONTENT_URI, null, Item.MESSAGE + " = 'Test Pose Zebra Zulu'", null, Item.ITEMID + " ASC");        assertNotNull(cur);        assertEquals(1,cur.getCount());        if (!cur.isClosed())                cur.close();    }    @SuppressWarnings("unused")        public void testItemDoesNotDuplicate()    {        // insert the first record/tuple into the db        ContentValues values = new ContentValues();        values.put(Item.MESSAGE, "Test Pose Zebra Zulu");        values.put(Item.CREATOR, "{username: \"misslemonaid\", tagline: \"Sweet and Sour\", image_url: \"http://stag.pose.com/avatars/7df/7dff9c01483f4d719f2ce7bfb870a15e/medium_60.jpg\", id: 15315}");        values.put(Item.LOVECOUNT, 0);        values.put(Item.ITEMID, 1);        Uri uri = mMockResolver.insert(Item.CONTENT_URI, values);        Cursor cur = mMockResolver.query(Item.CONTENT_URI, null, Item.MESSAGE + " = 'Test Pose Zebra Zulu'", null, Item.ITEMID + " ASC");        assertNotNull(cur);        assertEquals(1,cur.getCount());        if (!cur.isClosed())                cur.close();        // Now we make sure that items can not save duplicates of the same id        values.clear();        values.put(Item.MESSAGE, "NOT SAVED");        values.put(Item.CREATOR, "{username: \"misslemonaid\", tagline: \"Sweet and Sour\", image_url: \"http://stag.pose.com/avatars/7df/7dff9c01483f4d719f2ce7bfb870a15e/medium_60.jpg\", id: 15315}");        values.put(Item.LOVECOUNT, 0);        values.put(Item.ITEMID, 1);        uri = mMockResolver.insert(Item.CONTENT_URI, values);        cur = mMockResolver.query(Item.CONTENT_URI, null, Item.MESSAGE + " = 'NOT SAVED'", null, Item.ITEMID + " ASC");        assertNotNull(cur);        assertEquals(1,cur.getCount());        if (!cur.isClosed())                cur.close();        // Verify that we only have 1 item with an item id of '1'        cur = mMockResolver.query(Item.CONTENT_URI, null, Item.ITEMID + " = '1'", null, Item.ITEMID + " ASC");        assertNotNull(cur);        assertEquals(1,cur.getCount());        if (!cur.isClosed())                cur.close();    }    public void testLoadUnAuthFeed()    {        GSServiceHelper gsHelper1 = GSServiceHelper.getGSServiceObject();        GSServiceHelper gsHelper2 = GSServiceHelper.getGSServiceObject();        assertNotNull(gsHelper1);        assertNotNull(gsHelper2);        assertEquals(gsHelper1, gsHelper2);        //Bind with and start GSService        gsHelper1.doBindService();        String requestID = gsHelper1.loadPosers(0);        assertTrue(requestID.length() > 0);    }    public void testUnAuthDataLoaded()    {        Handler handler = new Handler();        class ItemsContentObserver extends ContentObserver        {                  public ItemsContentObserver( Handler h )                  {                        super( h );                  }                  public void onChange(boolean selfChange)                  {                        Log.i( "testUnAuthDataLoaded()", "StringsContentObserver.onChange( "+selfChange+")" );                  }        }        ItemsContentObserver co = new ItemsContentObserver(handler);        mMockResolver.registerContentObserver(Item.CONTENT_URI, true, co);    }}
原创粉丝点击