1   /*
2    * Created on Jun 24, 2004
3    *
4    */
5   package com.sun.syndication.unittest;
6   
7   import com.sun.syndication.feed.synd.SyndCategory;
8   import com.sun.syndication.feed.synd.SyndEntry;
9   import com.sun.syndication.feed.synd.SyndEnclosure;
10  
11  import java.util.List;
12  import java.util.Set;
13  import java.util.HashSet;
14  
15  /**
16   * @author pat
17   *
18   */
19  public class TestSyndFeedRSS092 extends TestSyndFeedRSS091N {
20  
21      public TestSyndFeedRSS092() {
22          super("rss_0.92");
23      }
24  
25      protected TestSyndFeedRSS092(String type) {
26          super(type);
27      }
28  
29      protected TestSyndFeedRSS092(String feedType,String feedFileName) {
30          super(feedType,feedFileName);
31      }
32  
33      protected void _testItem(int i) throws Exception {
34          super._testItem(i);
35          List items = getCachedSyndFeed().getEntries();
36          SyndEntry entry = (SyndEntry) items.get(i);
37  
38          assertProperty(entry.getTitle(),"channel.item["+i+"].title");
39          assertProperty(entry.getLink(),"channel.item["+i+"].link");
40          assertProperty(entry.getDescription().getValue(),"channel.item["+i+"].description");
41          _testCategories(entry.getCategories(),"channel.item["+i+"]");
42          _testEnclosures(entry.getEnclosures(),"channel.item["+i+"]");
43      }
44  
45      protected void _testCategories(List cats,String prefix) throws Exception {
46          Set s1 = new HashSet();
47          Set s2 = new HashSet();
48          for (int i=0;i<cats.size();i++) {
49              SyndCategory cat = (SyndCategory) cats.get(i);
50              s1.add(cat.getTaxonomyUri()+" "+cat.getName());
51              s2.add(getPrefix() + "." +prefix+".category["+i+"]^domain"+" "+getPrefix() + "." +prefix+".category["+i+"]");
52          }
53          assertTrue(s1.equals(s2));
54      }
55  
56      protected void _testEnclosures(List encs,String prefix) throws Exception {
57          Set s1 = new HashSet();
58          Set s2 = new HashSet();
59          for (int i=0;i<encs.size();i++) {
60              SyndEnclosure enc = (SyndEnclosure) encs.get(i);
61              s1.add(enc.getUrl()+" "+enc.getType()+" "+enc.getLength());
62              s2.add(getPrefix() + "." +prefix+".enclousure["+i+"]^url"+" "+
63                     getPrefix() + "." +prefix+".enclousure["+i+"]^type"+" "+
64                     "100");
65          }
66          assertTrue(s1.equals(s2));
67      }
68  }