1   /*
2    * Created on Jun 22, 2004
3    *
4    * TODO To change the template for this generated file go to
5    * Window - Preferences - Java - Code Generation - Code and Comments
6    */
7   package com.sun.syndication.unittest;
8   
9   
10  
11  
12  /**
13   * @author pat
14   *
15   */
16  public abstract class SyndFeedTest extends FeedTest {
17  	 private String _prefix = null;
18  
19      protected SyndFeedTest(String feedType) {
20          this(feedType,feedType+".xml");
21      }
22  
23      protected SyndFeedTest(String feedType,String feedFileName) {
24          super(feedFileName);
25          _prefix = feedType;
26      }
27  
28      protected String getPrefix() {
29          return _prefix;
30      }
31  
32  	protected void assertProperty(String property, String value) {
33  		assertEquals(property,getPrefix() + "." + value);
34  	}
35  
36      public void testType() throws Exception {
37          assertEquals(getCachedSyndFeed().getFeedType(),getPrefix());
38      }
39  
40      
41  /*
42  	public void testType() throws Exception {
43  		assertEquals(getPrefix(), getCachedSyndFeed().getFeedType());
44  	}
45  
46  	public void testTitle() throws Exception {
47  		assertEqualsStr("channel.title", getCachedSyndFeed().getTitle());
48  	}
49  
50  	public void testLink() throws Exception {
51  		assertEqualsStr("channel.link", getCachedSyndFeed().getLink());
52  	}
53  
54  	public void testDescription() throws Exception {
55  		assertEqualsStr("channel.description", getCachedSyndFeed().getDescription());
56  	}
57  
58  	public void testLanguage() throws Exception {
59  		assertEqualsStr("channel.language", getCachedSyndFeed().getLanguage());
60  	}
61  
62  	public void testCategories() throws Exception {
63  		List catlist = getCachedSyndFeed().getCategories();
64  		//don't understand why this one fails
65  		assertEquals(2, catlist.size());
66  		SyndCategory cat = (SyndCategory)catlist.get(0);
67  		assertEqualsStr("channel.category[0]", cat.getName());
68  		assertEqualsStr("channel.category[0]^domain", cat.getTaxonomyUri());
69  		cat = (SyndCategory)catlist.get(1);
70  		assertEqualsStr("channel.category[1]", cat.getName());
71  		assertEqualsStr("channel.category[1]^domain", cat.getTaxonomyUri());
72  	}
73  
74  	public void testPublishedDate() throws Exception {
75  		assertEquals(DateParser.parseRFC822("Mon, 01 Jan 2001 00:00:00 GMT"), getCachedSyndFeed().getPublishedDate());
76  	}
77  
78  	//how do i get height and width?
79  	public void testImage() throws Exception {
80  		SyndImage img = getCachedSyndFeed().getImage();
81  		assertEqualsStr("channel.image.description", img.getDescription());
82  		assertEqualsStr("channel.image.link", img.getLink());
83  		assertEqualsStr("channel.image.title", img.getTitle());
84  		assertEqualsStr("channel.image.url", img.getUrl());
85  	}
86  
87  	public void testEntries() throws Exception {
88  		List entrylist = getCachedSyndFeed().getEntries();
89  		assertEquals(2, entrylist.size());
90  	}
91  
92  	public void testEntryTitle() throws Exception {
93  		assertEqualsStr("channel.item[0].title", getEntryTitle(getCachedSyndFeed().getEntries().get(0)));
94  		assertEqualsStr("channel.item[1].title", getEntryTitle(getCachedSyndFeed().getEntries().get(1)));
95  	}
96  
97  	public String getEntryTitle(Object o) throws Exception {
98  		SyndEntry e = (SyndEntry) o;
99  		return e.getTitle();
100 	}
101 
102 	public void testEntryDescription() throws Exception {
103 		assertEqualsStr("channel.item[0].description", getEntryDescription(getCachedSyndFeed().getEntries().get(0)));
104 		assertEqualsStr("channel.item[1].description", getEntryDescription(getCachedSyndFeed().getEntries().get(1)));
105 	}
106 
107 	public String getEntryDescription(Object o) throws Exception {
108 		SyndEntry e = (SyndEntry) o;
109 		return e.getDescription().getValue();
110 	}
111 
112 	public void testEntryLink() throws Exception {
113 		assertEqualsStr("channel.item[0].link", getEntryLink(getCachedSyndFeed().getEntries().get(0)));
114 		assertEqualsStr("channel.item[1].link", getEntryLink(getCachedSyndFeed().getEntries().get(1)));
115 	}
116 
117 	public String getEntryLink(Object o) {
118 		SyndEntry e = (SyndEntry) o;
119 		return e.getLink();
120 	}
121 
122 	public void testEntryPublishedDate() throws Exception {
123 		assertEquals(DateParser.parseRFC822("Mon, 01 Jan 2001 00:00:00 GMT"), getEntryPublishedDate(getCachedSyndFeed().getEntries().get(0)));
124 		assertEquals(DateParser.parseRFC822("Mon, 01 Jan 2001 00:00:00 GMT"), getEntryPublishedDate(getCachedSyndFeed().getEntries().get(1)));
125 	}
126 
127 	public Date getEntryPublishedDate(Object o) {
128 		SyndEntry e = (SyndEntry) o;
129 		return e.getPublishedDate();
130 	}
131 
132 	public void testEntryCategories() throws Exception {
133 		SyndEntry e = (SyndEntry)getCachedSyndFeed().getEntries().get(0);
134 		List catlist = e.getCategories();
135 		//don't understand why this one fails
136 		assertEquals(2, catlist.size());
137 		SyndCategory cat = (SyndCategory)catlist.get(0);
138 		assertEqualsStr("channel.item[0].category[0]", cat.getName());
139 		assertEqualsStr("channel.item[0].category[0]^domain", cat.getTaxonomyUri());
140 		cat = (SyndCategory)catlist.get(1);
141 		assertEqualsStr("channel.item[0].category[1]", cat.getName());
142 		assertEqualsStr("channel.item[0].category[1]^domain", cat.getTaxonomyUri());
143         //DO 2nd set of items
144 	}
145 
146 	public void testEntryAuthor() throws Exception {
147 		assertEqualsStr("channel.item[0].author", getEntryAuthor(getCachedSyndFeed().getEntries().get(0)));
148 		assertEqualsStr("channel.item[1].author", getEntryAuthor(getCachedSyndFeed().getEntries().get(1)));
149 	}
150 
151 	public String getEntryAuthor(Object o) {
152 		SyndEntry e = (SyndEntry) o;
153 		return e.getAuthor();
154 	}
155 
156 */
157 /*
158 //things you cannot get from SyndEntryImpl
159 //	<source url="http://localhost:8080/item0/source.url">item[0].source</source>
160 //    <enclosure url="http://localhost:8080/item0/enclosure0.url" length="100" type="audio/mpeg"/>
161 //    <enclosure url="http://localhost:8080/item0/enclosure1.url" length="1000" type="audio/mpeg"/>
162     <category domain="item0.domain0">item0.category0</category>
163     <category domain="item0.domain1">item0.category1</category>
164     <pubDate>Thu, 08 Jul 1999 08:00:00 GMT</pubDate>
165     <expirationDate>Thu, 08 Jul 1999 09:00:00 GMT</.expirationDate>
166     <author>item0.author</author>
167     <comments>http://localhost:8080/item0/comments</comments>
168     <guid isPermaLink="true">http://localhost:8080/item0/guid</guid>
169 	//TODO: I still have the elements to test
170 */
171 	/*
172 	public void test() {
173 		assertEqualsStr(feed, "");
174 	}
175 
176 	public void test() {
177 		assertEqualsStr(feed, "");
178 	}
179 
180 	*/
181 	//Things that you cannot get form a SyndFeedImpl today
182 	//these need to be put in a RSS 2.0 module
183 	//or is a roundtrip to wirefeed the right way to do this?
184 /*
185  *   <textInput>
186     <title>Search</title>
187     <description>Search this site:</description>
188     <name>q</name>
189     <link>http://example.org/mt/mt-search.cgi</link>
190   </textInput>
191 
192    image height and width
193  *
194 	//<copyright>Copyright 2004, Mark Pilgrim</copyright>
195 	public void test() {
196 		assertEqualsStr(getCachedSyndFeed()., "");
197 	}
198 
199 	//<generator>Sample Toolkit</generator>
200 	public void test() {
201 		assertEqualsStr(feed, "");
202 	}
203 
204 	//  <managingEditor>editor@example.org</managingEditor>
205 	public void test() {
206 		assertEqualsStr(feed, "");
207 	}
208 
209 	//  <webMaster>webmaster@example.org</webMaster>
210 	public void test() {
211 		assertEqualsStr(feed, "");
212 	}
213 
214 	  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
215 	    <cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/>
216 	    <ttl>60</ttl>
217 	      <rating>(PICS-1.1 ?http://www.classify.org/safesurf/? l r (SS~~000 1))</rating>
218 
219   <skiphours>
220     <hour>0</hour>
221     <hour>1</hour>
222     <hour>2</hour>
223     <hour>3</hour>
224     <hour>4</hour>
225     <hour>5</hour>
226     <hour>6</hour>
227     <hour>7</hour>
228     <hour>8</hour>
229     <hour>9.5</hour>
230     <hour>10</hour>
231     <hour>11</hour>
232     <hour>12</hour>
233     <hour>13</hour>
234     <hour>14</hour>
235     <hour>15</hour>
236     <hour>16</hour>
237     <hour>17</hour>
238     <hour>18</hour>
239     <hour>19</hour>
240     <hour>20</hour>
241     <hour>21</hour>
242     <hour>22</hour>
243     <hour>23</hour>
244   </skiphours>
245   <skipdays>
246     <day>Monday</day>
247     <day>Tuesday</day>
248     <day>Wednesday</day>
249     <day>Thursday</day>
250     <day>Friday</day>
251     <day>Saturday</day>
252     <day>Sunday</day>
253   </skipdays>
254 
255 **/
256 
257 
258 	/*
259 	 * @see TestCase#tearDown()
260 	 */
261 	protected void tearDown() throws Exception {
262 		super.tearDown();
263 	}
264 
265 
266 
267 }