package com.vaguehope.onosendai.provider.successwhale;
import static org.junit.Assert.assertEquals;
import java.util.Collections;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import com.vaguehope.onosendai.config.Account;
import com.vaguehope.onosendai.config.Column;
import com.vaguehope.onosendai.config.ColumnFeed;
public class ColumnsXmlTest {
private static final String ACCOUNT_ID = "ac0";
private Account account;
@Before
public void before () throws Exception {
this.account = new Account(ACCOUNT_ID, null, null, null, null, null, null);
}
@Test
public void itParsesAllColumns () throws Exception {
final ColumnsXml cx = new ColumnsXml(this.account, getClass().getResourceAsStream("/successwhale_columns.xml"));
final SuccessWhaleColumns c = cx.getColumns();
final List<Column> columns = c.getColumns();
assertEquals(3, columns.size());
assertColumn(columns.get(0), 0, "@twittername's Home Timeline", "twitter/12345678/statuses/home_timeline");
assertColumn(columns.get(1), 1, "Somelist", "twitter/12345678/twittername/lists/somelist/statuses");
assertColumn(columns.get(2), 2, "Combined Feed", "twitter/12345678/statuses/mentions:twitter/12345678/statuses/user_timeline");
}
private static void assertColumn (final Column c, final int id, final String title, final String resource) {
assertEquals(id, c.getId());
assertEquals(title, c.getTitle());
assertEquals(Collections.singleton(new ColumnFeed(ACCOUNT_ID, resource)), c.getFeeds());
assertEquals(null, c.getExcludeColumnIds());
assertEquals(30, c.getRefreshIntervalMins());
}
}