MCPcopy
hub / github.com/TheAlgorithms/Python / test_stack

Function test_stack

data_structures/stacks/stack.py:161–207  ·  view source on GitHub ↗

>>> test_stack()

()

Source from the content-addressed store, hash-verified

159
160
161def test_stack() -> None:
162 """
163 >>> test_stack()
164 """
165 stack: Stack[int] = Stack(10)
166 assert bool(stack) is False
167 assert stack.is_empty() is True
168 assert stack.is_full() is False
169 assert str(stack) == "[]"
170
171 try:
172 _ = stack.pop()
173 raise AssertionError # This should not happen
174 except StackUnderflowError:
175 assert True # This should happen
176
177 try:
178 _ = stack.peek()
179 raise AssertionError # This should not happen
180 except StackUnderflowError:
181 assert True # This should happen
182
183 for i in range(10):
184 assert stack.size() == i
185 stack.push(i)
186
187 assert bool(stack)
188 assert not stack.is_empty()
189 assert stack.is_full()
190 assert str(stack) == str(list(range(10)))
191 assert stack.pop() == 9
192 assert stack.peek() == 8
193
194 stack.push(100)
195 assert str(stack) == str([0, 1, 2, 3, 4, 5, 6, 7, 8, 100])
196
197 try:
198 stack.push(200)
199 raise AssertionError # This should not happen
200 except StackOverflowError:
201 assert True # This should happen
202
203 assert not stack.is_empty()
204 assert stack.size() == 10
205
206 assert 5 in stack
207 assert 55 not in stack
208
209
210if __name__ == "__main__":

Callers 1

stack.pyFile · 0.85

Calls 7

is_emptyMethod · 0.95
is_fullMethod · 0.95
popMethod · 0.95
peekMethod · 0.95
sizeMethod · 0.95
pushMethod · 0.95
StackClass · 0.70

Tested by

no test coverage detected