package mobisocial.test; import android.content.ContentProvider; import android.os.Build; import android.test.AndroidTestCase; import android.test.mock.MockContentResolver; public abstract class MusubiProviderTestCase<T extends ContentProvider> extends AndroidTestCase { Class<T> mProviderClass; String mProviderAuthority; private MockMusubiAppContext mProviderContext; private MockContentResolver mResolver; public MusubiProviderTestCase(Class<T> providerClass, String providerAuthority) { mProviderClass = providerClass; mProviderAuthority = providerAuthority; } private T mProvider; public T getProvider() { return mProvider; } @Override protected void setUp() throws Exception { super.setUp(); mResolver = new MockContentResolver(); mProviderContext = new MockMusubiAppContext(getContext()); mProvider = mProviderClass.newInstance(); mProvider.attachInfo(mProviderContext, null); assertNotNull(mProvider); mResolver.addProvider(mProviderAuthority, getProvider()); } @Override protected void tearDown() throws Exception { if(Build.VERSION.SDK_INT >= 11) { //mProvider.shutdown(); } super.tearDown(); } public MockContentResolver getMockContentResolver() { return mResolver; } public MockMusubiAppContext getMockContext() { return mProviderContext; } }