def test_size(self): da = DynamicArray() self.assertEqual(da.size(), 0) da.add(1) self.assertEqual(da.size(), 1) da.add(2) self.assertEqual(da.size(), 2)
def test_to_list(self): da = DynamicArray() self.assertEqual(da.to_list(), []) da.add(1) self.assertEqual(da.to_list(), [1]) da.add(2) self.assertEqual(da.to_list(), [1, 2])
class Stack(object): # The __init__ function is run when you instantiate an instance of this object def __init__(self): self._size = 0 self._dynamic_array = DynamicArray() ################################# ## DO YOUR WORK BELOW THIS LINE # ################################# def is_empty(self): return self._size == 0 def size(self): return self._dynamic_array.size() def top(self): return self._dynamic_array.get(self._dynamic_array.size() - 1) def push(self, value): self._dynamic_array.add(value) def pop(self): return self._dynamic_array.remove(self._dynamic_array.size() - 1) # DO NOT MODIFY THIS PRINT def print_stack(self): print '====\n' + '\n----\n'.join([str(v) for v in self._dynamic_array._data[:self._size]]) + '\n^^^^'
class Stack(object): # The __init__ function is run when you instantiate an instance of this object def __init__(self): self._size = 0 self._dynamic_array = DynamicArray() ################################# ## DO YOUR WORK BELOW THIS LINE # ################################# # Return whether or not the stack is empty def is_empty(self): #TODO: return True or False to answer if the stack is empty if self._size == 0: return True # Return the size on the stack def size(self): #TODO: return the current size of the stack return self._size # look at the top of the stack (but don't remove) def top(self): #TODO: return the current top of the stack return self._dynamic_array.get(self._size - 1) # Push a value on to the top of the stack def push(self, value): #TODO: push the pased value onto the stack self._dynamic_array.add(value) self._size += 1 # take the top value off of the stack and return it to the user def pop(self): #TODO: pop the top value off the stack self._dynamic_array.remove(self._size - 1) self._size -= 1 return 1 # DO NOT MODIFY THIS PRINT def print_stack(self): print '====\n' + '\n----\n'.join( [str(v) for v in self._dynamic_array._data[:self._size]]) + '\n^^^^'
def test_get_item(self): da = DynamicArray() da.add(1) self.assertEqual(da.__getitem__(0), 1)
from DynamicArray import DynamicArray dyn_arr = DynamicArray() print "Checking basic variable initializations..." assert dyn_arr._size == dyn_arr.size() assert dyn_arr._capacity == dyn_arr.capacity() dyn_arr.print_data() print "done\n" ################################### print "Checking add function..." dyn_arr.add(1) assert dyn_arr.size() == 1 assert dyn_arr.capacity() == DynamicArray.INIT_CAPACITY for v in range(2, dyn_arr.capacity() + 1): dyn_arr.add(v) assert dyn_arr.capacity() == DynamicArray.INIT_CAPACITY dyn_arr.add(7) assert dyn_arr.capacity() == DynamicArray.INIT_CAPACITY * DynamicArray.RESIZE_MULTIPLIER for v in range(dyn_arr.size() + 1, dyn_arr.capacity() + 1): dyn_arr.add(v)