package org.ryu22e.nico2cal.service;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import java.util.List;
import org.junit.Test;
import org.ryu22e.nico2cal.rome.module.NicoliveModule;
import org.slim3.tester.AppEngineTestCase;
import com.google.appengine.api.NamespaceManager;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
/**
* @author ryu22e
*
*/
public final class NicoliveRssServiceTest extends AppEngineTestCase {
/**
*
*/
private NicoliveRssService service = new NicoliveRssService();
/*
* (non-Javadoc) {@inheritDoc}
*/
@Override
public void setUp() throws Exception {
super.setUp();
NamespaceManager.set("test");
}
/*
* (non-Javadoc) {@inheritDoc}
*/
@Override
public void tearDown() throws Exception {
super.tearDown();
}
/**
* @throws Exception
*/
@Test
public void RSSフィードを取得する() throws Exception {
assertThat(service, is(notNullValue()));
SyndFeed feed = service.getFeed();
assertThat(feed, not(nullValue()));
assertThat(feed.getTitle(), is("ニコニコ生放送"));
assertThat(feed.getEntries(), is(notNullValue()));
assertThat(feed.getEntries().size(), is(not(0)));
@SuppressWarnings("unchecked")
List<SyndEntry> entries = (List<SyndEntry>) feed.getEntries();
for (SyndEntry entry : entries) {
assertThat(entry.getTitle(), is(notNullValue()));
assertThat(entry.getDescription(), is(notNullValue()));
assertThat(entry.getModules(), is(notNullValue()));
assertThat(entry.getModules().size(), is(not(0)));
assertThat(
entry.getModules().get(0),
is(instanceOf(NicoliveModule.class)));
NicoliveModule module = (NicoliveModule) entry.getModules().get(0);
assertThat(module.getOpenTime(), is(notNullValue()));
assertThat(module.getStartTime(), is(notNullValue()));
assertThat(module.getType(), is(notNullValue()));
}
}
}