public void testCacheReadComment() { // this test needs Internet connectivity and assumes that there is a top level comment in // Elasticsearch already. CommentListModel listModel = new CommentListModel(); Cache cache = Cache.getInstance(); CommentSearch search = new CommentSearch(listModel, cache); CacheIO cacheIO = cache.getCacheIO(); ArrayList<CommentModel> acm = new ArrayList<CommentModel>(); // this is empty and written to disk to clear the cache. cache.serializeAndWrite(acm, "history.sav"); acm = cacheIO.load("history.sav"); assertTrue(acm.isEmpty()); Thread thread = search.pullTopLevel((BrowseActivity) unusedInAnotherTestActivity); try { thread.join(); } catch (InterruptedException e) { Log.w("EsTestPullReplies", "Thread interrupt"); Log.w("PULL", "Thread interrupt"); } acm = cacheIO.load("history.sav"); JestResult result = search.returnResult(); assertTrue("Result is not null", result != null); assertTrue("Result is successful", result.isSucceeded()); assertFalse( "cache is still empty", acm.isEmpty()); // if this fails on the first execution: re-run this test again. }
public void testFileIO() { Cache cache = Cache.getInstance(); String filename = "testFile"; Bitmap pic = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888); ArrayList<CommentModel> acm = new ArrayList<CommentModel>(); CommentModel comment1 = new CommentModel("1.2", "1.111", "body1", "Author1", "Title1", null, "testAuthorId"); CommentModel comment2 = new CommentModel("2", "2", "body2", "Author2", "Title2", pic, "testAuthorId"); acm.add(comment1); acm.add(comment2); // make a list of 2 comments GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(Bitmap.class, new BitmapJsonConverter()); Gson gson = builder.create(); String jsonString = gson.toJson(acm); CacheIO cacheIO = cache.getCacheIO(); cacheIO.replaceFileHistory(jsonString, filename); // store to file acm.clear(); acm = cacheIO.load(filename); assertTrue(!acm.isEmpty()); assertTrue(acm.get(0).getmBody().equals(comment1.getmBody())); assertTrue(acm.get(0).getmAuthor().equals(comment1.getmAuthor())); Log.w("CacheTests", acm.get(0).getmTitle() + " " + comment1.getmTitle()); assertTrue(acm.get(0).getmTitle().equals(comment1.getmTitle())); assertTrue(acm.get(0).getmPicture() == null); assertTrue(acm.get(0).getLat().equals(comment1.getLat())); assertTrue(acm.get(0).getLon().equals(comment1.getLon())); assertTrue(acm.get(1).getmBody().equals(comment2.getmBody())); assertTrue(acm.get(1).getmAuthor().equals(comment2.getmAuthor())); assertTrue(acm.get(1).getmTitle().equals(comment2.getmTitle())); assertTrue(acm.get(1).getLat().equals(comment2.getLat())); assertTrue(acm.get(1).getLon().equals(comment2.getLon())); assertTrue( acm.get(1).getmPicture().describeContents() == comment2.getmPicture().describeContents()); }