|
13 | 13 | size() returns the number of items on the stack. |
14 | 14 | It needs no parameters and returns an integer. |
15 | 15 | """ |
16 | | -import unittest |
17 | 16 | from abc import ABCMeta, abstractmethod |
18 | | - |
19 | | - |
20 | 17 | class AbstractStack(metaclass=ABCMeta): |
21 | 18 | """Abstract Class for Stacks.""" |
22 | 19 | def __init__(self): |
@@ -133,84 +130,3 @@ def peek(self): |
133 | 130 | if self.is_empty(): |
134 | 131 | raise IndexError("Stack is empty") |
135 | 132 | return self.head.value |
136 | | - |
137 | | - # optional |
138 | | - """ |
139 | | - def is_empty(self): |
140 | | - return self.head is None |
141 | | - """ |
142 | | - |
143 | | - |
144 | | -class TestSuite(unittest.TestCase): |
145 | | - """ |
146 | | - Test suite for the stack data structures (above) |
147 | | - """ |
148 | | - |
149 | | - def test_ArrayStack(self): |
150 | | - stack = ArrayStack() |
151 | | - stack.push(1) |
152 | | - stack.push(2) |
153 | | - stack.push(3) |
154 | | - |
155 | | - # test __iter__() |
156 | | - it = iter(stack) |
157 | | - self.assertEqual(3, next(it)) |
158 | | - self.assertEqual(2, next(it)) |
159 | | - self.assertEqual(1, next(it)) |
160 | | - self.assertRaises(StopIteration, next, it) |
161 | | - |
162 | | - # test __len__() |
163 | | - self.assertEqual(3, len(stack)) |
164 | | - |
165 | | - # test __str__() |
166 | | - self.assertEqual(str(stack), "Top-> 3 2 1") |
167 | | - |
168 | | - # test is_empty() |
169 | | - self.assertFalse(stack.is_empty()) |
170 | | - |
171 | | - # test peek() |
172 | | - self.assertEqual(3, stack.peek()) |
173 | | - |
174 | | - # test pop() |
175 | | - self.assertEqual(3, stack.pop()) |
176 | | - self.assertEqual(2, stack.pop()) |
177 | | - self.assertEqual(1, stack.pop()) |
178 | | - |
179 | | - self.assertTrue(stack.is_empty()) |
180 | | - |
181 | | - def test_LinkedListStack(self): |
182 | | - stack = LinkedListStack() |
183 | | - |
184 | | - stack.push(1) |
185 | | - stack.push(2) |
186 | | - stack.push(3) |
187 | | - |
188 | | - # test __iter__() |
189 | | - it = iter(stack) |
190 | | - self.assertEqual(3, next(it)) |
191 | | - self.assertEqual(2, next(it)) |
192 | | - self.assertEqual(1, next(it)) |
193 | | - self.assertRaises(StopIteration, next, it) |
194 | | - |
195 | | - # test __len__() |
196 | | - self.assertEqual(3, len(stack)) |
197 | | - |
198 | | - # test __str__() |
199 | | - self.assertEqual(str(stack), "Top-> 3 2 1") |
200 | | - |
201 | | - # test is_empty() |
202 | | - self.assertFalse(stack.is_empty()) |
203 | | - |
204 | | - # test peek() |
205 | | - self.assertEqual(3, stack.peek()) |
206 | | - |
207 | | - # test pop() |
208 | | - self.assertEqual(3, stack.pop()) |
209 | | - self.assertEqual(2, stack.pop()) |
210 | | - self.assertEqual(1, stack.pop()) |
211 | | - |
212 | | - self.assertTrue(stack.is_empty()) |
213 | | - |
214 | | - |
215 | | -if __name__ == "__main__": |
216 | | - unittest.main() |
0 commit comments