// BlogBridge -- RSS feed reader, manager, and web based service // Copyright (C) 2002-2006 by R. Pito Salas // // This program is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free Software Foundation; // either version 2 of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. // See the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along with this program; // if not, write to the Free Software Foundation, Inc., 59 Temple Place, // Suite 330, Boston, MA 02111-1307 USA // // Contact: R. Pito Salas // mailto:pitosalas@users.sourceforge.net // More information: about BlogBridge // http://www.blogbridge.com // http://sourceforge.net/projects/blogbridge // // $Id: TestConverter.java,v 1.6 2007/04/30 13:43:27 spyromus Exp $ // package com.salas.bb.utils.opml; import com.salas.bb.domain.DirectFeed; import com.salas.bb.domain.ReadingList; import com.salas.bb.domain.StandardGuide; import com.salas.bbutilities.opml.objects.DirectOPMLFeed; import com.salas.bbutilities.opml.objects.OPMLGuide; import com.salas.bbutilities.opml.objects.OPMLReadingList; import junit.framework.TestCase; import java.net.MalformedURLException; import java.net.URL; import java.util.List; /** * This suite contains tests for <code>Converter</code> unit. */ public class TestConverter extends TestCase { /** * Tests the rules of conversion of RL and unassociated feeds. * * @throws MalformedURLException never. */ public void testConvertRL() throws MalformedURLException { StandardGuide guide = new StandardGuide(); ReadingList list = new ReadingList(new URL("file://test")); guide.add(list); DirectFeed feedDyn = new DirectFeed(); feedDyn.setBaseTitle("dyn"); feedDyn.setXmlURL(new URL("file://dyn")); list.add(feedDyn); DirectFeed feedStat = new DirectFeed(); feedStat.setBaseTitle("stat"); feedStat.setXmlURL(new URL("file://stat")); guide.add(feedStat); // Checking OPMLGuide opmlGuide = Converter.convertToOPML(guide); OPMLReadingList[] lists = opmlGuide.getReadingLists(); assertEquals(1, lists.length); OPMLReadingList lst = lists[0]; List feeds = lst.getFeeds(); assertEquals(1, feeds.size()); DirectOPMLFeed feed = (DirectOPMLFeed)feeds.get(0); assertEquals("dyn", feed.getTitle()); feeds = opmlGuide.getFeeds(); assertEquals(1, feeds.size()); feed = (DirectOPMLFeed)feeds.get(0); assertEquals("stat", feed.getTitle()); } /** * Checks converting publication properties. */ public void testConvertingPublishingProperties() { StandardGuide guide = new StandardGuide(); guide.setPublishingEnabled(true); guide.setPublishingPublic(true); guide.setPublishingTags("a b c"); guide.setPublishingTitle("abc"); guide.setPublishingRating(2); // Checking OPMLGuide opmlGuide = Converter.convertToOPML(guide); assertEquals(guide.isPublishingEnabled(), opmlGuide.isPublishingEnabled()); assertEquals(guide.isPublishingPublic(), opmlGuide.isPublishingPublic()); assertEquals(guide.getPublishingTags(), opmlGuide.getPublishingTags()); assertEquals(guide.getPublishingTitle(), opmlGuide.getPublishingTitle()); assertEquals(guide.getPublishingRating(), opmlGuide.getPublishingRating()); } /** * Testing how the data feed properties are filled. * * @throws MalformedURLException never. */ public void testFillDataFeedProperties() throws MalformedURLException { DirectFeed dfeed = new DirectFeed(); dfeed.setBaseTitle("stat"); dfeed.setXmlURL(new URL("file://stat")); // Set no update period dfeed.setUpdatePeriod(-1); DirectOPMLFeed ofeed = Converter.convertToOPML(dfeed); assertNull(ofeed.getUpdatePeriod()); // Set update period dfeed.setUpdatePeriod(1); ofeed = Converter.convertToOPML(dfeed); assertEquals(new Long(1), ofeed.getUpdatePeriod()); } }