public void testImageUrlAndBgColor() { final int count = 3; resources.setSuggestedSitesResource(generateSites(count)); SuggestedSites suggestedSites = new SuggestedSites(context); // Suggested sites hasn't been loaded yet. for (int i = 0; i < count; i++) { String url = "url" + i; assertFalse(suggestedSites.contains(url)); assertNull(suggestedSites.getImageUrlForUrl(url)); assertNull(suggestedSites.getBackgroundColorForUrl(url)); } Cursor c = suggestedSites.get(DEFAULT_LIMIT); c.moveToPosition(-1); // We should have cached results after the get() call. while (c.moveToNext()) { String url = c.getString(c.getColumnIndexOrThrow(BrowserContract.SuggestedSites.URL)); assertTrue(suggestedSites.contains(url)); assertEquals("imageUrl" + c.getPosition(), suggestedSites.getImageUrlForUrl(url)); assertEquals("bgColor" + c.getPosition(), suggestedSites.getBackgroundColorForUrl(url)); } c.close(); // No valid values for unknown URLs. assertFalse(suggestedSites.contains("foo")); assertNull(suggestedSites.getImageUrlForUrl("foo")); assertNull(suggestedSites.getBackgroundColorForUrl("foo")); }