1 package baseCode.dataStructure;
2
3 import junit.framework.TestCase;
4 import baseCode.dataStructure.Stack;
5
6 /***
7 * <p>
8 * </p>
9 * <p>
10 * </p>
11 * <p>
12 * Copyright (c) 2004
13 * </p>
14 * <p>
15 * Institution: Columbia University
16 * </p>
17 *
18 * @author Paul Pavlidis
19 * @version $Id: TestStack.java,v 1.1 2005/03/17 13:58:41 pavlidis Exp $
20 */
21
22 public class TestStack extends TestCase {
23 private Stack stack = null;
24 private Stack stackShort = null;
25
26 protected void setUp() throws Exception {
27 super.setUp();
28
29 stack = new Stack();
30 stack.push( new Integer( 1 ) );
31 stack.push( new Integer( 2 ) );
32 stack.push( new Integer( 3 ) );
33 stack.push( new Integer( 4 ) );
34 stack.push( new Integer( 5 ) );
35
36 stackShort = new Stack( 3 );
37 stackShort.push( new Integer( 1 ) );
38 }
39
40 protected void tearDown() throws Exception {
41 stack = null;
42 super.tearDown();
43 }
44
45 public void testPop() {
46 Integer expectedReturn = new Integer( 3 );
47 stack.pop();
48 stack.pop();
49 Integer actualReturn = ( Integer ) stack.pop();
50 assertEquals( "return value", expectedReturn, actualReturn );
51 }
52
53 public void testPush() {
54 Integer expectedReturn = new Integer( 100 );
55 stack.push( new Integer( 101 ) );
56 stack.push( new Integer( 102 ) );
57 stack.push( new Integer( 103 ) );
58 stack.push( expectedReturn );
59 Integer actualReturn = ( Integer ) stack.pop();
60 assertEquals( "return value", expectedReturn, actualReturn );
61 }
62
63 public void testTop() {
64 Integer expectedReturn = new Integer( 5 );
65 Integer actualReturn = ( Integer ) stack.top();
66 assertEquals( "return value", expectedReturn, actualReturn );
67 }
68
69 public void testEmptyPop() {
70 stackShort.pop();
71 Integer actualReturn = ( Integer ) stackShort.pop();
72 Integer expectedReturn = null;
73 assertEquals( "return value", expectedReturn, actualReturn );
74 }
75
76 public void testFullPush() {
77 try {
78 stackShort.push( new Integer( 495 ) );
79 stackShort.push( new Integer( 495 ) );
80 stackShort.push( new Integer( 495 ) );
81 stackShort.push( new Integer( 495 ) );
82 stackShort.push( new Integer( 495 ) );
83 fail( "Should raise an IndexOutOfBoundsException" );
84 } catch ( IndexOutOfBoundsException success ) {
85 }
86
87 }
88
89 }