예제 #1
0
    def test_array_list8(self):
        lst = ArrayList()
        for i in range(3):
            lst = array_list.insert(lst, i, 0)

        lst, val = array_list.pop(lst, 0)
        self.assertEqual(val, 2)
        lst, val = array_list.pop(lst, 0)
        self.assertEqual(val, 1)
예제 #2
0
    def test_array_list7(self):
        lst = ArrayList()
        for i in range(3):
            lst = array_list.insert(lst, i, 0)

        lst, val = array_list.pop(lst, array_list.size(lst) - 1)
        self.assertEqual(val, 0)
        lst, val = array_list.pop(lst, array_list.size(lst) - 1)
        self.assertEqual(val, 1)
예제 #3
0
 def test_pop(self):
     lst = ArrayList()
     lst.num_items = 2
     lst.arr = [1, 2]
     lst2 = ArrayList()
     lst2.num_items = 1
     lst2.arr = [1, None]
     self.assertEqual(pop(lst, 1), (lst2, 2))
     self.assertRaises(IndexError, pop, lst, 2)
     lst.arr = [1, 2, None, None]
     lst.capacity = 4
     lst.num_items = 2
     lst2.arr = [2, None]
     lst2.num_items = 1
     lst2.capacity = 2
     self.assertEqual(pop(lst, 0)[0].arr, [2, None])
예제 #4
0
 def pop(self):
     """Write signature and purpose
     """
     # pop() from array_list only raises IndexError for idx > num_items
     # not protected against empty stack
     if self.is_empty():
         raise IndexError
     self.arr_list, val = array_list.pop(self.arr_list, self.num_items - 1)
     self.num_items = self.num_items - 1
     return val
예제 #5
0
 def pop(self):
     """Pop an item from the stack
     Args:
         self (StackArray): The Stack
     Returns:
         (int): value popped from stack
     """
     val = 0
     if self.num_items == 0:
         raise IndexError('')
     self.arr_list, val = array_list.pop(self.arr_list, self.num_items - 1)
     self.num_items -= 1
     return val
예제 #6
0
 def pop(self):
     """method that removes the item at the top of the stack
     Args:
         No args
     Returns:
         item (any type) : the item (data) that was removed
     Raises:
         IndexError : when the stack is empty
     """
     if self.is_empty():
         raise IndexError
     self.arr_list, item = alist.pop(self.arr_list, self.num_items - 1)
     self.num_items -= 1
     return item