Exemple #1
0
  def setUp(self):
    self.__arrayDeque = get_deque(ARR_DEQUE_TYPE)
    self.__arrayStack = Stack()
    self.__arrayQueue = Queue()

    self.__linkedDeque = get_deque(LL_DEQUE_TYPE)
    self.__linkedStack = Stack()
    self.__linkedQueue = Queue()
Exemple #2
0
 def setUp(self):
   self.__deque = get_deque(LL_DEQUE_TYPE)
   self.__stack = Stack()
   self.__queue = Queue()
   
   self.__deque1 = get_deque(ARR_DEQUE_TYPE)
   self.__stack1 = Stack()
   self.__queue1 = Queue()
Exemple #3
0
 def test_ARR_deque_push_pop(self):#test if multiple push and pops work expectedly
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.__deque.push_back(2)
   self.__deque.pop_back()
   self.__deque.push_front(3)
   self.__deque.pop_front()
   self.assertEqual('[ 2, 1 ]', str(self.__deque))
def delimiter_check(filename):
  # TODO replace pass with an implementation that returns True
  # if the delimiters (), [], and {} are balanced and False otherwise.
  deque = get_deque()
  file = open(filename, 'r')
  content = file.read()
  for char in content:
      a = 0
      if char == "(":
          deque.push_back(char)
          a = 1
      if char == "[":
          deque.push_back(char)
          a = 2
      if char == "{":
          deque.push_back(char)
          a = 3
      if char == ")":
          if a == 2 or a == 3:
              return False
          if deque.peek_back() == "(":
              deque.pop_back()
              a = 0
          else: 
              return False
      if char == "]":
          if a == 1 or a == 3:
              return False
          if deque.peek_back() == "[":
              deque.pop_back()
              a = 0
          else: 
              return False
      if char == "}":
          if a == 1 or a == 2:
              return False
          if deque.peek_back() == "{":
              deque.pop_back()
              a = 0
          else: 
              return False
      if a == 0 is False:
          deque.push_back(char)
  if len(deque) == 0:
      return True
  else:
      return False
Exemple #5
0
 def test_empty_ARR_deque_len(self):
   self.__deque = get_deque(1)
   self.assertEqual(0, len(self.__deque))
Exemple #6
0
 def __init__(self):
     # TODO replace pass with your implementation.
     self.__queue = get_deque()
Exemple #7
0
 def test_ARR_deque_pop_back_circularity(self):#tests pop_back when back index is 0.
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.__deque.pop_back()
   self.assertEqual('[ 2 ]', str(self.__deque))
Exemple #8
0
 def test_ARR_deque_push_back_circularity(self):#similarly,tests if circular array works
   self.__deque = get_deque(1)
   self.__deque.push_back(1)
   self.__deque.push_back(2)
   self.__deque.push_back(3)
   self.assertEqual('[ 1, 2, 3 ]', str(self.__deque))
Exemple #9
0
 def test_two_ARR_deque_string(self):#same tests for a deque with size 2.
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.assertEqual('[ 2, 1 ]', str(self.__deque))
Exemple #10
0
 def test_one_ARR_deque_len(self):
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.assertEqual(1, len(self.__deque))
Exemple #11
0
 def test_one_ARR_deque_peek_front(self):
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   returned = self.__deque.peek_front()
   self.assertEqual(1, returned)
Exemple #12
0
 def test_one_ARR_deque_pop_back_return(self):
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   returned = self.__deque.pop_back()
   self.assertEqual(1, returned)
Exemple #13
0
 def test_one_ARR_deque_push_back(self):#also tests if __grow works
   self.__deque = get_deque(1)
   self.__deque.push_back(1)
   self.__deque.push_back(2)
   self.assertEqual('[ 1, 2 ]', str(self.__deque))
Exemple #14
0
 def test_one_ARR_deque_push_front(self):#also tests if __grow works
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.assertEqual('[ 2, 1 ]', str(self.__deque))
Exemple #15
0
 def test_one_ARR_deque_string(self):#same testing for a deque of size 1.
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.assertEqual('[ 1 ]', str(self.__deque))
Exemple #16
0
 def test_two_ARR_deque_push_front(self):
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.__deque.push_front(3)
   self.assertEqual('[ 3, 2, 1 ]', str(self.__deque))
Exemple #17
0
 def test_ARR_deque_push_front_circularity(self):#tests push_front when front index is 0.
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.__deque.push_front(3)
   self.assertEqual('[ 3, 2, 1 ]', str(self.__deque))
Exemple #18
0
 def test_two_ARR_deque_push_back(self):
   self.__deque = get_deque(1)
   self.__deque.push_back(1)
   self.__deque.push_back(2)
   self.__deque.push_back(3)
   self.assertEqual('[ 1, 2, 3 ]', str(self.__deque))
Exemple #19
0
 def test_ARR_deque_pop_front_circularity(self):#tests pop_front when front index is capacity-1.
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.__deque.pop_front()
   self.assertEqual('[ 1 ]', str(self.__deque))
Exemple #20
0
 def test_two_ARR_deque_pop_front_return(self):#tests if pop method returns correctly.
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   returned = self.__deque.pop_front()
   self.assertEqual(2, returned)
Exemple #21
0
def is_palindrome(character_string):
    dq = get_deque()
    for c in character_string:
        dq.push_back(c)
    return rec_palindrome(dq)
Exemple #22
0
 def test_two_ARR_deque_pop_front(self):#tests if pop method removes correctly.
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.__deque.pop_front()
   self.assertEqual('[ 1 ]', str(self.__deque))
 def setUp(self):
     self.__deque = get_deque()
     self.__stack = Stack()
     self.__queue = Queue()
Exemple #24
0
 def test_two_ARR_deque_pop_back(self):
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.__deque.pop_back()
   self.assertEqual('[ 2 ]', str(self.__deque))
Exemple #25
0
 def __init__(self):
     # TODO replace pass with your implementation.
     self.__dq = get_deque()  #initalize deque object
Exemple #26
0
 def test_two_ARR_deque_peek_back(self):
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   returned = self.__deque.peek_back()
   self.assertEqual(1, returned)
Exemple #27
0
 def setUp(self):
     # Run your tests with each deque type to ensure that
     # they behave identically.
     self.__deque = get_deque(LL_DEQUE_TYPE)
     self.__stack = Stack()
     self.__queue = Queue()
Exemple #28
0
 def test_two_ARR_deque_len(self):
   self.__deque = get_deque(1)
   self.__deque.push_front(1)
   self.__deque.push_front(2)
   self.assertEqual(2, len(self.__deque))
Exemple #29
0
 def __init__(self):
     self._dq = get_deque(0)
Exemple #30
0
 def test_empty_ARR_deque_peek_back(self):
   self.__deque = get_deque(1)
   returned = self.__deque.peek_back()
   self.assertEqual(None, returned)