Advertisement
Guest User

Untitled

a guest
Apr 15th, 2014
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.25 KB | None | 0 0
  1. import junit.framework.* ;
  2.  
  3. import java.util.LinkedList;
  4. import java.util.ListIterator;
  5. /**
  6. * Title: class LinkedListTester
  7. * Description: JUnit test class for LinkedList class
  8. * @author Philip Papadopoulos
  9. * @version 2.0 03-April-2014
  10. */
  11. public class LinkedListTester extends TestCase
  12. {
  13. private MyLinkedList<Integer> empty ;
  14. private MyLinkedList<Integer> one ;
  15. private MyLinkedList<Integer> several ;
  16. private MyLinkedList<String> slist ;
  17. static final int DIM = 5;
  18. static final int FIBMAX = 30;
  19.  
  20. public LinkedListTester()
  21. {
  22. super() ;
  23. }
  24. /**
  25. * Standard Test Fixture. An empty list, a list with one entry (0) and
  26. * a list with several entries (0,1,2)
  27. */
  28. public void setUp()
  29. {
  30. empty = new MyLinkedList<Integer>();
  31. one = new MyLinkedList<Integer>();
  32. one.add(0,new Integer(0));
  33. several = new MyLinkedList<Integer>() ;
  34. // List: 1,2,3,...,Dim
  35. for (int i = DIM; i > 0; i--)
  36. several.add(0,new Integer(i));
  37.  
  38. // List: "First","Last"
  39. slist = new MyLinkedList<String>();
  40. slist.add(0,"First");
  41. slist.add(1,"Last");
  42. }
  43. /** Test if heads of the lists are correct */
  44. public void testGetHead()
  45. {
  46. assertEquals("Check 0",new Integer(0),one.get(0)) ;
  47. assertEquals("Check 0",new Integer(1),several.get(0)) ;
  48. }
  49.  
  50. /** Test if tails of lists are correct */
  51. public void testGetTail()
  52. {
  53. assertEquals("Check 0", new Integer(DIM), several.get(4));
  54. }
  55.  
  56. /** Test if size of lists are correct */
  57. public void testListSize()
  58. {
  59. assertEquals("Check Empty Size",0,empty.size()) ;
  60. assertEquals("Check One Size",1,one.size()) ;
  61. assertEquals("Check Several Size",DIM,several.size()) ;
  62. }
  63.  
  64. /** Test setting a specific entry */
  65. public void testSet()
  66. {
  67. slist.set(1,"Final");
  68. assertEquals("Setting specific value", "Final",slist.get(1));
  69. }
  70.  
  71. /** Test isEmpty */
  72. public void testEmpty()
  73. {
  74. assertTrue("empty is empty",empty.isEmpty()) ;
  75. assertTrue("one is not empty",!one.isEmpty()) ;
  76. assertTrue("several is not empty",!several.isEmpty()) ;
  77. }
  78.  
  79. /** Test iterator on empty list and several list */
  80. public void testIterator()
  81. {
  82. int counter = 0 ;
  83. ListIterator<Integer> iter;
  84. for (iter = empty.listIterator() ; iter.hasNext(); )
  85. {
  86. fail("Iterating empty list and found element") ;
  87. }
  88. counter = 0 ;
  89. for (iter = several.listIterator() ; iter.hasNext(); iter.next())
  90. counter++;
  91. assertEquals("Iterator several count", counter, DIM);
  92. }
  93.  
  94. /** Test out of bounds exception on get */
  95. public void testGetException()
  96. {
  97. try
  98. {
  99. empty.get(0);
  100. fail("Should have generated an exception");
  101. }
  102. catch(IndexOutOfBoundsException e)
  103. {
  104. // normal
  105. }
  106. }
  107.  
  108. /** Test null pointer exception on add*/
  109. public void testAddNullException()
  110. {
  111. try
  112. {
  113. empty.add( null );
  114. fail("Should have generated an excption");
  115. }
  116. catch(NullPointerException e)
  117. {
  118. // normal
  119. }
  120. }
  121.  
  122. /** Test OOB exception on add*/
  123. public void testAddOOBException()
  124. {
  125. try
  126. {
  127. empty.add(1, new Integer(1));
  128. }
  129. catch(IndexOutOfBoundsException e)
  130. {
  131. // normal
  132. }
  133. }
  134.  
  135. /** Test clear method */
  136. public void testClear()
  137. {
  138. several.clear();
  139. assertTrue("several is empty",several.isEmpty()) ;
  140. }
  141.  
  142. /** Test zero-constructor MyLinkedList() */
  143. public void testZeroConstructor()
  144. {
  145. assertTrue("empty has size 0",empty.size() == 0) ;
  146. }
  147.  
  148. /** Test if remove modifies size */
  149. public void testRemoveSize()
  150. {
  151. int originalSize = several.size();
  152. several.remove(2);
  153. int newSize = several.size();
  154. assertTrue("size has been modified", originalSize != newSize) ;
  155. }
  156.  
  157. /** Test if add modifies size */
  158. public void testAddSize()
  159. {
  160. int originalSize = several.size();
  161. several.add( new Integer(2) );
  162. int newSize = several.size();
  163. assertTrue("size has been modified", originalSize != newSize) ;
  164. }
  165.  
  166. /** Test get Nth */
  167. public void testGetNth()
  168. {
  169. assertEquals("Third position of 'several' is '3'", several.get(3), new Integer(4));
  170. }
  171.  
  172. /** Test return of remove */
  173. public void testReturnRemove()
  174. {
  175. assertEquals("Removed position = '3'", several.remove(3), new Integer(4));
  176. }
  177.  
  178. /** Test return of set method */
  179. public void testReturnSet()
  180. {
  181. Integer test = several.set(4, new Integer(10));
  182. assertEquals("fourth position = 10", test, new Integer(10));
  183. }
  184.  
  185. /** test Iterator Fibonacci */
  186. public void testIteratorFibonacci()
  187. {
  188.  
  189. MyLinkedList<Integer> fib = new MyLinkedList<Integer>();
  190. ListIterator<Integer> iter;
  191. // List: 0 1 1 2 3 5 8 13 ...
  192. // Build the list with integers 1 .. FIBMAX
  193. int t, p = 0, q = 1;
  194. fib.add(0,p);
  195. fib.add(1,q);
  196. for (int k = 2; k <= FIBMAX; k++)
  197. {
  198. t = p+q;
  199. fib.add(k,t);
  200. p = q; q = t;
  201. }
  202. // Now iterate through the list to near the middle, read the
  203. // previous two entries and verify the sum.
  204. iter = fib.listIterator();
  205. int sum = 0;
  206. for (int j = 1; j < FIBMAX/2; j++)
  207. sum = iter.next();
  208. iter.previous();
  209. assertEquals(iter.previous() + iter.previous(),sum);
  210. // Go forward with the list iterator
  211. assertEquals(iter.next() + iter.next(),sum);
  212. }
  213. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement