package com.newsrob.test.unit; import java.io.IOException; import java.io.InputStream; import javax.xml.parsers.ParserConfigurationException; import org.xml.sax.SAXException; import android.content.Context; import android.test.InstrumentationTestCase; import com.newsrob.EntriesRetriever; import com.newsrob.EntryManager; import com.newsrob.jobs.Job; public class ImportTests extends InstrumentationTestCase { private EntryManager entryManager; private EntriesRetrieverStub entriesRetriever; @Override protected void setUp() throws Exception { super.setUp(); entryManager = EntryManager.getInstance(getInstrumentation() .getTargetContext()); entryManager.doClearCache(); entriesRetriever = new EntriesRetrieverStub(getInstrumentation() .getTargetContext()); } public void testImport() throws IOException, ParserConfigurationException, SAXException { assertEquals(0, entryManager.getArticleCount()); Job job = new Job("SomeDescription", entryManager) { @Override public void run() throws Exception { fail("Should not be called."); } }; InputStream is = getInstrumentation().getContext().getAssets().open( "simple.xml"); EntriesRetriever.FetchContext fetchContext = new EntriesRetriever.FetchContext(); entriesRetriever.processInputStream(job, fetchContext, is); is.close(); assertEquals(20, entryManager.getArticleCount()); } } class EntriesRetrieverStub extends EntriesRetriever { public EntriesRetrieverStub(Context context) { super(context); } @Override protected void processInputStream(Job job, FetchContext fetchCtx, InputStream is) throws ParserConfigurationException, SAXException, IOException { super.processInputStream(job, fetchCtx, is); } }