예제 #1
0
 def test1(self):
     stack1 = Stack(1)
     stack1.push(2)
     self.assertFalse(stack1.is_empty())
     self.assertTrue(stack1.is_full())
     with self.assertRaises(IndexError):  #checks for exception
         stack1.push(1)
예제 #2
0
 def test_simple(self):
     stack = Stack(5)
     stack.push(0)
     self.assertFalse(stack.is_empty())
     self.assertFalse(stack.is_full())
     self.assertEqual(stack.size(), 1)
     stack.push(4)
     stack.push(9)
     self.assertEqual(stack.size(), 3)
     stack.push(8)
     stack.push(7)
     with self.assertRaises(IndexError):
         stack.push(6)
     stack.pop()
     self.assertEqual(stack.size(), 4)
     self.assertEqual(stack.peek(), 8)
     stack.pop()
     stack.pop()
     stack.pop()
     self.assertEqual(stack.pop(), 0)
     self.assertEqual(stack.size(), 0)
     with self.assertRaises(IndexError):
         stack.pop()
     with self.assertRaises(IndexError):
         stack.peek()
예제 #3
0
 def test_simple(self):
     stack = Stack(5)
     stack.push(0)
     self.assertFalse(stack.is_empty())
     self.assertFalse(stack.is_full())
     self.assertEqual(stack.size(), 1)
     stack.push(1)
     self.assertEqual(stack.pop(), 1)
     self.assertEqual(stack.peek(), 0)
예제 #4
0
 def test2(self):
     stack = Stack(4)
     self.assertTrue(stack.is_empty())
     stack.push(None)
     stack.push(4)
     stack.push(1)
     stack.push(7)
     self.assertTrue(stack.is_full())
     self.assertEqual(stack.pop(), 7)
     self.assertEqual(stack.size(), 3)
예제 #5
0
 def test_simple_1(self):
     stack = Stack(3)
     self.assertRaises(IndexError, stack.peek)
     stack.push(0)
     stack.push(1)
     stack.push(2)
     self.assertRaises(IndexError, stack.push, 3)
     self.assertTrue(stack.is_full())
     self.assertEqual(stack.size(),3)
     stack.pop()
     stack.pop()
     self.assertEqual(stack.pop(), 0)
 def test_push(self):
     stack = Stack(4)
     stack.push(2)
     stack.push(16)
     self.assertEqual(stack.num_items, 2)
     stack.push(10)
     stack.push(21)
     self.assertEqual(stack.items[0], 2)
     self.assertEqual(stack.items[1], 16)
     self.assertEqual(stack.items[2], 10)
     self.assertEqual(stack.items[3], 21)
     self.assertTrue(stack.is_full())
     with self.assertRaises(IndexError):  # used to check for exception
         stack.push(66)
예제 #7
0
 def test_simple(self):
     stack = Stack(5)
     self.assertTrue(stack.is_empty())
     stack.push(0)
     self.assertFalse(stack.is_empty())
     self.assertFalse(stack.is_full())
     self.assertEqual(stack.size(), 1)
     stack.push(1)
     self.assertEqual(stack.size(), 2)
     self.assertEqual(stack.capacity, 5)
     self.assertEqual(stack.peek(), 1)
     self.assertEqual(stack.pop(), 1)
     self.assertEqual(stack.size(), 1)
     for i in range(4):
         stack.push(1)
     with self.assertRaises(IndexError):
         stack.push(1)
     with self.assertRaises(IndexError):
         s = Stack(1)
         s.pop()
     with self.assertRaises(IndexError):
         e = Stack(1)
         e.peek()
     self.assertTrue(stack.is_full())
예제 #8
0
 def test_linked(self):
 	stack = Stack(10)
 	stack.push('a')
 	stack.pop()
 	self.assertEqual(stack.size(),0)
 	self.assertTrue(stack.is_empty())
 	stack.push('a')
 	stack.push('b')
 	stack.push('c')
 	stack.push('d')
 	stack.push('e')
 	stack.push('f')
 	stack.push('g')
 	stack.push('h')
 	stack.push('i')
 	stack.push('j')
 	self.assertTrue(stack.is_full())
 	self.assertRaises(IndexError, stack.push,'k')
 	stack.pop()
 	self.assertEqual(stack.peek(), 'i')
 	self.assertEqual(stack.size(), 9)
예제 #9
0
 def test_full(self):
     stack = Stack(1)
     self.assertFalse(stack.is_full())
     stack.push(1)
     self.assertTrue(stack.is_full())
예제 #10
0
 def test_linked_1(self):
 	stack = Stack(4)
 	self.assertRaises(IndexError, stack.peek)
 	self.assertRaises(IndexError, stack.pop)
 	self.assertTrue(stack.is_empty())
 	self.assertFalse(stack.is_full())    	
예제 #11
0
 def test_stack0(self):
     stack = Stack(0)
     self.assertTrue(stack.is_empty())
     self.assertTrue(stack.is_full())