package com.newsrob.test.unit; import android.os.SystemClock; import android.test.InstrumentationTestCase; import com.newsrob.EntryManager; import com.newsrob.test.TestUtil; public class UnsubscribeFeedTests extends InstrumentationTestCase { private EntryManager entryManager; @Override protected void setUp() throws Exception { super.setUp(); entryManager = EntryManager.getInstance(getInstrumentation() .getTargetContext()); entryManager.doClearCache(); TestUtil.populateDatabaseWithDataSet1(entryManager); } @Override protected void tearDown() throws Exception { entryManager.doClearCache(); super.tearDown(); } public void testUnsubscribeFeed() { assertEquals(0, entryManager.getFeeds2UnsubscribeCount()); entryManager.requestUnsubscribeFeed("feed_atom_id1"); SystemClock.sleep(350); assertEquals(1, entryManager.getFeeds2UnsubscribeCount()); } public void testUnsubscribeFeedAgain() { entryManager.requestUnsubscribeFeed("feed_atom_id1"); SystemClock.sleep(350); assertEquals(1, entryManager.getFeeds2UnsubscribeCount()); entryManager.requestUnsubscribeFeed("feed_atom_id1"); SystemClock.sleep(350); assertEquals(1, entryManager.getFeeds2UnsubscribeCount()); } public void testUnsubscribeNonExistingFeed() { entryManager.requestUnsubscribeFeed("non-existing"); SystemClock.sleep(350); assertEquals(0, entryManager.getFeeds2UnsubscribeCount()); } public void testUnsubscribeTwoFeeds() { entryManager.requestUnsubscribeFeed("feed_atom_id1"); entryManager.requestUnsubscribeFeed("feed_atom_id2"); SystemClock.sleep(350); assertEquals(2, entryManager.getFeeds2UnsubscribeCount()); } public void testFeedCanBeUnsubscribed() { assertTrue(entryManager.canFeedBeUnsubscribed("feed_atom_id1")); } public void testNonExistingFeedCannotBeUnsubscribed() { assertFalse(entryManager.canFeedBeUnsubscribed("non-existing")); } public void testUnsubscribeFeedCannotBeUnsubscribed() { entryManager.requestUnsubscribeFeed("feed_atom_id1"); SystemClock.sleep(350); assertFalse(entryManager.canFeedBeUnsubscribed("feed_atom_id1")); } public void testNumberOfArticlesToBeMarkedAsRead() { assertEquals( 4, entryManager .getArticleCountThatWouldBeMarkedAsReadWhenFeedWouldBeUnsubscribed("feed_atom_id1")); } public void testNumberOfArticlesToBeMarkedAsReadForANonExistingFeed() { assertEquals( -1, entryManager .getArticleCountThatWouldBeMarkedAsReadWhenFeedWouldBeUnsubscribed("non-existing")); } public void testNumberOfArticlesToBeMarkedAsReadForAFeedWithOnlyReadArticles() { assertEquals( 0, entryManager .getArticleCountThatWouldBeMarkedAsReadWhenFeedWouldBeUnsubscribed("feed_atom_id2")); } public void testAllArticlesOfAFeedShouldBeMarkedAsReadWhenUnsubscribed() { assertEquals(4, entryManager.getUnreadArticleCount()); entryManager.requestUnsubscribeFeed("feed_atom_id1"); SystemClock.sleep(350); assertEquals(0, entryManager.getUnreadArticleCount()); } }