final IFeed feed;
feed = DynamicDAO.save(createFeed());
final News initialNews = (News) createNews(feed);
initialNews.setState(State.NEW);
INews newsItem = null;
NewsReference newsRef = null;
newsItem = DynamicDAO.save(initialNews);
newsRef = new NewsReference(newsItem.getId());
List<INews> newsList = new ArrayList<INews>();
newsList.add(newsItem);
Owl.getPersistenceService().getDAOService().getNewsDAO().setState(newsList, State.UPDATED, true, false);
INews news = newsRef.resolve();
assertEquals(State.UPDATED, news.getState());
Owl.getPersistenceService().getDAOService().getNewsDAO().setState(newsList, State.DELETED, true, false);
news = newsRef.resolve();
assertEquals(State.DELETED, news.getState());
Owl.getPersistenceService().getDAOService().getNewsDAO().setState(newsList, State.HIDDEN, false, false);
news = newsRef.resolve();
assertEquals(State.HIDDEN, news.getState());
Owl.getPersistenceService().getDAOService().getNewsDAO().setState(newsList, State.READ, false, false);
news = newsRef.resolve();
assertEquals(State.READ, news.getState());
Owl.getPersistenceService().getDAOService().getNewsDAO().setState(newsList, State.UNREAD, true, false);
news = newsRef.resolve();
assertEquals(State.UNREAD, news.getState());
Owl.getPersistenceService().getDAOService().getNewsDAO().setState(newsList, State.NEW, true, false);
news = newsRef.resolve();
assertEquals(State.NEW, news.getState());
// Make sure it doesn't change when we set it to the same
Owl.getPersistenceService().getDAOService().getNewsDAO().setState(newsList, State.NEW, true, false);
news = newsRef.resolve();
assertEquals(State.NEW, news.getState());
DynamicDAO.delete(newsRef.resolve());
DynamicDAO.delete(feed);
}