StackTest.java revision f33eae7e84eb6d3b0f4e86b59605bb3de73009f3
1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  Licensed to the Apache Software Foundation (ASF) under one or more
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  contributor license agreements.  See the NOTICE file distributed with
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  this work for additional information regarding copyright ownership.
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  The ASF licenses this file to You under the Apache License, Version 2.0
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  (the "License"); you may not use this file except in compliance with
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  the License.  You may obtain a copy of the License at
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  See the License for the specific language governing permissions and
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  limitations under the License.
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.api.java.util;
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetNew;
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargets;
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestLevel;
23f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughesimport dalvik.annotation.TestTargetClass;
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.EmptyStackException;
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Stack;
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
28f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes@TestTargetClass(Stack.class)
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class StackTest extends junit.framework.TestCase {
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    Stack s;
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests java.util.Stack#Stack()
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargetNew(
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        level = TestLevel.COMPLETE,
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        notes = "",
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        method = "Stack",
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        args = {}
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    )
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_Constructor() {
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method java.util.Stack()
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("Stack creation failed", 0, s.size());
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests java.util.Stack#empty()
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargetNew(
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        level = TestLevel.COMPLETE,
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        notes = "",
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        method = "empty",
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        args = {}
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    )
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_empty() {
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method boolean java.util.Stack.empty()
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("New stack answers non-empty", s.empty());
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push("blah");
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("Stack should not be empty but answers empty", !s.empty());
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.pop();
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("Stack should be empty but answers non-empty", s.empty());
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(null);
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("Stack with null should not be empty but answers empty", !s
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                .empty());
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests java.util.Stack#peek()
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargetNew(
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        level = TestLevel.COMPLETE,
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        notes = "",
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        method = "peek",
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        args = {}
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    )
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_peek() {
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method java.lang.Object java.util.Stack.peek()
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String item1 = "Ichi";
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String item2 = "Ni";
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String item3 = "San";
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(item1);
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("Peek did not return top item when it was the only item", s
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                .peek() == item1);
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(item2);
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(item3);
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("Peek did not return top item amoung many other items", s
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                .peek() == item3);
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.pop();
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertTrue("Peek did not return top item after a pop", s.pop() == item2);
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(null);
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertNull("Peek did not return top item (wanted: null)",
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                s.peek());
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.pop();
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.pop();
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            s.pop();
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("EmptyStackException expected");
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (EmptyStackException e) {
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            //expected
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests java.util.Stack#pop()
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargetNew(
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        level = TestLevel.COMPLETE,
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        notes = "",
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        method = "pop",
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        args = {}
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    )
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_pop() {
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method java.lang.Object java.util.Stack.pop()
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String item1 = "Ichi";
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String item2 = "Ni";
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Object lastPopped;
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(item1);
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(item2);
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            lastPopped = s.pop();
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("a) Pop did not return top item", lastPopped == item2);
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (EmptyStackException e) {
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail(
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    "a) Pop threw EmptyStackException when stack should not have been empty");
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            lastPopped = s.pop();
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("b) Pop did not return top item", lastPopped == item1);
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (EmptyStackException e) {
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail(
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    "b) Pop threw EmptyStackException when stack should not have been empty");
135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(null);
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            lastPopped = s.pop();
140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertNull("c) Pop did not return top item", lastPopped);
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (EmptyStackException e) {
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail(
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    "c) Pop threw EmptyStackException when stack should not have been empty");
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            lastPopped = s.pop();
148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail(
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    "d) Pop did not throw EmptyStackException when stack should have been empty");
150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (EmptyStackException e) {
151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            return;
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests java.util.Stack#push(java.lang.Object)
158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargetNew(
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        level = TestLevel.COMPLETE,
161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        notes = "",
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        method = "push",
163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        args = {java.lang.Object.class}
164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    )
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_pushLjava_lang_Object() {
166f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        Object [] array = {new Integer(0), new Object(),
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                           new Float(0), new String()};
168f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Stack<Object> stack = new Stack<Object>();
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        for(int i = 0; i < array.length; i++) {
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            stack.push(array[i]);
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        for(int i = 0; i < array.length; i++) {
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals(array.length - i, stack.search(array[i]));
175f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes        }
176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests java.util.Stack#search(java.lang.Object)
180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargetNew(
182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        level = TestLevel.COMPLETE,
183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        notes = "",
184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        method = "search",
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        args = {java.lang.Object.class}
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    )
187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void test_searchLjava_lang_Object() {
188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        // Test for method int java.util.Stack.search(java.lang.Object)
189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String item1 = "Ichi";
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String item2 = "Ni";
191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String item3 = "San";
192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(item1);
193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(item2);
194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(item3);
195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("Search returned incorrect value for equivalent object", 3, s
196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                .search(item1));
197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("Search returned incorrect value for equal object", 3, s
198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                .search("Ichi"));
199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.pop();
200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("Search returned incorrect value for equivalent object at top of stack",
201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                1, s.search(item2));
202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("Search returned incorrect value for equal object at top of stack",
203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                1, s.search("Ni"));
204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push(null);
205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("Search returned incorrect value for search for null at top of stack",
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                1, s.search(null));
207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.push("Shi");
208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("Search returned incorrect value for search for null", 2, s
209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                .search(null));
210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.pop();
211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s.pop();
212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("Search returned incorrect value for search for null--wanted -1",
213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                -1, s.search(null));
214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Sets up the fixture, for example, open a network connection. This method
218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * is called before a test is executed.
219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void setUp() {
221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        s = new Stack();
222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Tears down the fixture, for example, close a network connection. This
226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * method is called after a test is executed.
227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void tearDown() {
229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
231