コード例 #1
0
 def test_stack02(self):
     #testing index error for pop and peek
     stack= Stack(1)
     with self.assertRaises(IndexError):
         stack.pop()
     with self.assertRaises(IndexError):
         stack.peek()
コード例 #2
0
 def test_stack04(self):
     stack = Stack(10)
     stack.push(1)
     stack.push(2)
     stack.push(30)
     self.assertFalse(stack.is_full())
     self.assertFalse(stack.is_empty())
     self.assertEqual(stack.peek(),30)
     self.assertEqual(stack.size(),3)
     self.assertEqual(stack.pop(),30)
     self.assertEqual(stack.pop(),2)
     self.assertEqual(stack.pop(),1)
     self.assertTrue(stack.is_empty())
コード例 #3
0
 def test_simple_1(self):
     stack = Stack(5)
     stack.push(0)
     stack.push(1)
     stack.push(2)
     self.assertFalse(stack.is_empty())
     self.assertFalse(stack.is_full())
     self.assertEqual(stack.size(), 3)
     self.assertEqual(stack.peek(), 2)
     # Pop time
     self.assertEqual(stack.pop(), 2)
     self.assertEqual(stack.size(), 2)
     self.assertEqual(stack.peek(), 1)
     # Pop second time
     self.assertEqual(stack.pop(), 1)
     self.assertEqual(stack.size(), 1)
     self.assertEqual(stack.peek(), 0)
コード例 #4
0
    def test_max(self):
        """Testing everything  can think of"""
        stack = Stack(5)
        stack.push(0)
        stack.push(1)
        stack.push(2)
        stack.push(3)
        stack.push(4)
        self.assertFalse(stack.is_empty())
        self.assertTrue(stack.is_full())
        self.assertRaises(IndexError, stack.push,
                          5)  # used to check for exception

        self.assertEqual(stack.pop(), 4)
        self.assertEqual(stack.size(), 4)
        self.assertEqual(stack.peek(), 3)
        # Pop second time
        self.assertEqual(stack.pop(), 3)
        self.assertEqual(stack.size(), 3)
        self.assertEqual(stack.peek(), 2)

        self.assertEqual(stack.pop(), 2)
        self.assertEqual(stack.pop(), 1)
        self.assertEqual(stack.pop(), 0)

        self.assertTrue(stack.is_empty())
        self.assertRaises(IndexError, stack.peek)

        self.assertRaises(IndexError, stack.pop)  # used to check for exception

        stack.push(0)
        stack.push(1)
        stack.push(2)
        stack.push(3)
        stack.push(4)
        self.assertFalse(stack.is_empty())
        self.assertTrue(stack.is_full())
        self.assertRaises(IndexError, stack.push,
                          5)  # used to check for exception

        self.assertEqual(stack.pop(), 4)
        self.assertEqual(stack.size(), 4)
        self.assertEqual(stack.peek(), 3)
コード例 #5
0
 def test_simple(self):
     stack = Stack(5)
     with self.assertRaises(IndexError):
         stack.pop()
     with self.assertRaises(IndexError):
         stack.peek()
     self.assertTrue(stack.is_empty())
     stack.push(0)
     self.assertFalse(stack.is_empty())
     self.assertFalse(stack.is_full())
     stack.push(1)
     stack.push(2)
     stack.push(3)
     stack.push(4)
     self.assertEqual(stack.size(), 5)
     with self.assertRaises(IndexError):
         stack.push(5)
     self.assertTrue(stack.is_full())
     self.assertEqual(stack.pop(), 4)
     self.assertEqual(stack.size(), 4)
     self.assertEqual(stack.peek(), 3)