View Javadoc
1   /**
2    * 
3    */
4   package org.melati.util.test;
5   
6   import org.melati.util.Page;
7   import org.melati.util.PagedEnumeration;
8   
9   import junit.framework.TestCase;
10  
11  /**
12   * @author timp
13   * @since 13 Jun 2007
14   *
15   */
16  public abstract class PagedEnumerationSpec extends TestCase {
17  
18     PagedEnumeration<?> it = null;
19    /**
20     * @param name
21     */
22    public PagedEnumerationSpec(String name) {
23      super(name);
24    }
25  
26    /** 
27     * {@inheritDoc}
28     * @see junit.framework.TestCase#setUp()
29     */
30    protected void setUp() throws Exception {
31      super.setUp();
32      it = getObjectUnderTest();
33    }
34  
35    /** 
36     * {@inheritDoc}
37     * @see junit.framework.TestCase#tearDown()
38     */
39    protected void tearDown() throws Exception {
40      super.tearDown();
41    }
42  
43    protected abstract PagedEnumeration<?> getObjectUnderTest(); 
44    
45    /**
46     * Test method for {@link org.melati.poem.util.PagedEnumeration#getPageStart()}.
47     */
48    public void testGetPageStart() {
49      assertEquals(3, it.getPageStart());
50    }
51  
52    /**
53     * Test method for {@link org.melati.poem.util.PagedEnumeration#getPageEnd()}.
54     */
55    public void testGetPageEnd() {
56      assertEquals(12, it.getPageEnd());
57    }
58  
59    /**
60     * Test method for {@link org.melati.poem.util.PagedEnumeration#getTotalCount()}.
61     */
62    public void testGetTotalCount() {
63      assertEquals(25, it.getTotalCount());
64    }
65  
66    /**
67     * Test method for {@link org.melati.poem.util.PagedEnumeration#getPrevPageStart()}.
68     */
69    public void testGetPrevPageStart() {
70      assertNull(it.getPrevPageStart());
71      
72    }
73  
74    /**
75     * Test method for {@link org.melati.poem.util.PagedEnumeration#getNextPageStart()}.
76     */
77    public void testGetNextPageStart() {
78      assertEquals(new Integer(13),it.getNextPageStart());
79    }
80  
81    /**
82     * Test method for {@link org.melati.poem.util.PagedEnumeration#getCurrentPosition()}.
83     */
84    public void testGetCurrentPosition() {
85      assertEquals(2,it.getCurrentPosition());    
86    }
87  
88    /**
89     * Test method for {@link org.melati.poem.util.PagedEnumeration#getNextPosition()}.
90     */
91    public void testGetNextPosition() {
92      assertEquals(3,it.getNextPosition());        
93    }
94  
95    /**
96     * Test method for {@link org.melati.poem.util.PagedEnumeration#nextElementOnThisPage()}.
97     */
98    public void testNextElementOnThisPage() {
99      assertTrue(it.nextElementOnThisPage());            
100   }
101 
102   /**
103    * Test method for {@link org.melati.poem.util.PagedEnumeration#getPageSize()}.
104    */
105   public void testGetPageSize() {
106     assertEquals(10, it.getPageSize());
107   }
108 
109   /**
110    * Test method for {@link org.melati.poem.util.PagedEnumeration#getPages()}.
111    */
112   public void testGetPages() {
113     assertEquals(3, it.getPages().size());
114     Page one = (Page)it.getPages().get(0);
115     assertEquals(1, one.getNumber());
116     assertEquals(1, one.getStart());
117   }
118   
119   /**
120    * Test method for {@link java.util.Enumeration#hasMoreElements()}.
121    */
122   public void testHasMoreElements() {
123    assertTrue(it.hasMoreElements()); 
124   }
125 
126   /**
127    * Test method for {@link java.util.Enumeration#nextElement()}.
128    */
129   public void testNextElement() {
130     assertEquals(new Integer(2), it.nextElement());
131   }
132 
133 }