1   package de.fu_berlin.ties.util;
2   
3   import junit.framework.TestCase;
4   // JUnitDoclet begin import
5   import de.fu_berlin.ties.util.ListEntry;
6   // JUnitDoclet end import
7   
8   /***
9   * Generated by JUnitDoclet, a tool provided by
10  * ObjectFab GmbH under LGPL.
11  * Please see www.junitdoclet.org, www.gnu.org
12  * and www.objectfab.de for informations about
13  * the tool, the licence and the authors.
14  */
15  
16  
17  public class ListEntryTest
18  // JUnitDoclet begin extends_implements
19  extends TestCase
20  // JUnitDoclet end extends_implements
21  {
22    // JUnitDoclet begin class
23    ListEntry first, second, last;
24    // JUnitDoclet end class
25    
26    public ListEntryTest(String name) {
27      // JUnitDoclet begin method ListEntryTest
28      super(name);
29      // JUnitDoclet end method ListEntryTest
30    }
31    
32    public de.fu_berlin.ties.util.ListEntry createInstance() throws Exception {
33      // JUnitDoclet begin method testcase.createInstance
34      return new ListEntry();
35      // JUnitDoclet end method testcase.createInstance
36    }
37    
38    protected void setUp() throws Exception {
39      // JUnitDoclet begin method testcase.setUp
40      super.setUp();
41      first = createInstance();
42      last = createInstance();
43      second = new ListEntry(first, last);
44      // JUnitDoclet end method testcase.setUp
45    }
46    
47    protected void tearDown() throws Exception {
48      // JUnitDoclet begin method testcase.tearDown
49      first = second = last = null;
50      super.tearDown();
51      // JUnitDoclet end method testcase.tearDown
52    }
53    
54    public void testHasNext() throws Exception {
55      // JUnitDoclet begin method hasNext
56      assertTrue(first.hasNext());
57      assertTrue(second.hasNext());
58      assertFalse(last.hasNext());
59      // JUnitDoclet end method hasNext
60    }
61    
62    public void testHasPrevious() throws Exception {
63      // JUnitDoclet begin method hasPrevious
64      assertFalse(first.hasPrevious());
65      assertTrue(second.hasPrevious());
66      assertTrue(last.hasPrevious());
67      // JUnitDoclet end method hasPrevious
68    }
69    
70    public void testInsertAfter() throws Exception {
71      // JUnitDoclet begin method insertAfter
72      final ListEntry newEntry = createInstance();
73      second.insertAfter(newEntry);
74      assertSame(second.next(), newEntry);
75      assertSame(newEntry.previous(), second);
76      assertSame(newEntry.next(), last);
77      assertSame(last.previous(), newEntry);
78  
79      final ListEntry newFirst = createInstance();
80      newFirst.insertAfter(first);
81      assertSame(newFirst.next(), first);
82      assertSame(first.previous(), newFirst);
83      assertSame(first.next(), second);
84      assertSame(second.previous(), first);
85      assertFalse(newFirst.hasPrevious());
86  
87      final ListEntry newLast = createInstance();
88      last.insertAfter(newLast);
89      assertSame(last.next(), newLast);
90      assertSame(newLast.previous(), last);
91      assertFalse(newLast.hasNext());
92      // JUnitDoclet end method insertAfter
93    }
94    
95    public void testInsertBefore() throws Exception {
96      // JUnitDoclet begin method insertBefore
97      final ListEntry newEntry = createInstance();
98      second.insertBefore(newEntry);
99      assertSame(second.previous(), newEntry);
100     assertSame(newEntry.next(), second);
101     assertSame(newEntry.previous(), first);
102     assertSame(first.next(), newEntry);
103 
104     final ListEntry newFirst = createInstance();
105     first.insertBefore(newFirst);
106     assertSame(newFirst.next(), first);
107     assertSame(first.previous(), newFirst);
108     assertSame(first.next(), newEntry);
109     assertSame(newEntry.previous(), first);
110     assertFalse(newFirst.hasPrevious());
111 
112     final ListEntry newLast = createInstance();
113     newLast.insertBefore(last);
114     assertSame(last.next(), newLast);
115     assertSame(newLast.previous(), last);
116     assertFalse(newLast.hasNext());
117     // JUnitDoclet end method insertBefore
118   }
119   
120   public void testNext() throws Exception {
121     // JUnitDoclet begin method next
122     assertSame(first.next(), second);
123     assertSame(second.next(), last);
124     assertNull(last.next());
125     // JUnitDoclet end method next
126   }
127   
128   public void testPrevious() throws Exception {
129     // JUnitDoclet begin method previous
130     assertNull(first.previous());
131     assertSame(second.previous(), first);
132     assertSame(last.previous(), second);
133     // JUnitDoclet end method previous
134   }
135   
136   public void testRemove() throws Exception {
137     // JUnitDoclet begin method remove
138     second.remove();
139     assertFalse(second.hasNext());
140     assertFalse(second.hasPrevious());
141     assertSame(first.next(), last);
142     assertSame(last.previous(), first);
143 
144     last.remove();
145     assertFalse(last.hasNext());
146     assertFalse(last.hasPrevious());
147     assertFalse(first.hasNext());
148     // JUnitDoclet end method remove
149   }
150   
151   public void testToString() throws Exception {
152     // JUnitDoclet begin method toString
153     final String firstDesc = first.toString();
154     final String secondDesc = second.toString();
155     assertTrue(firstDesc.matches(".*ListEntry.*previous=false.*next=true.*"));
156     assertTrue(secondDesc.matches(".*ListEntry.*previous=true.*next=true.*"));
157     // JUnitDoclet end method toString
158   }
159   
160   
161   
162   /***
163   * JUnitDoclet moves marker to this method, if there is not match
164   * for them in the regenerated code and if the marker is not empty.
165   * This way, no test gets lost when regenerating after renaming.
166   * Method testVault is supposed to be empty.
167   */
168   public void testVault() throws Exception {
169     // JUnitDoclet begin method testcase.testVault
170     // JUnitDoclet end method testcase.testVault
171   }
172   
173   public static void main(String[] args) {
174     // JUnitDoclet begin method testcase.main
175     junit.textui.TestRunner.run(ListEntryTest.class);
176     // JUnitDoclet end method testcase.main
177   }
178 }