def test_len_returns_positive_ints(self):
     queue = impl.Queue()
     try:
         # assert (type(queue.len())==int) and (queue.len()>=0)
         assert isinstance(queue.len(), int) and (queue.len() >= 0)
     except:
         assert False
 def test_dequeue_when_queue_not_empty(self, param):
     queue = impl.Queue()
     for element in param:
         queue.enqueue(element)
     result = queue.dequeue()
     # print (result)
     assert result is not None
 def test_enqueue_single_operation(self, a):
     queue = impl.Queue()
     for elem in a:
         # print (elem)
         expected_length = queue.len() + 1
         queue.enqueue(elem)
         assert queue.len() == expected_length
 def test_enqueue_multiple(self, a):
     queue = impl.Queue()
     for x in a:
         # print (x)
         queue.enqueue(x)
     for x in a:
         queue.dequeue()
     assert queue.dequeue() == None
     assert queue.len() == 0
 def test_value_error(self, param):
     queue = impl.Queue()
     try:
         # print(param)
         queue.enqueue(param)
     except ValueError:
         pass
     except:
         assert False
 def test_dequeue_val(self, param):
     queue = impl.Queue()
     try:
         for element in param:
             queue.enqueue(param)
         result = queue.dequeue()
         # print (result[0],'==',param[0])
         assert result[0] == param[0]
     except:
         assert False
 def test_dequeue_not_return_inf_nan(self, param):
     queue = impl.Queue()
     try:
         queue.enqueue(param)
     except ValueError:
         try:
             assert queue.dequeue() == None
         except:
             assert False
     except:
         assert False, "Sorry!"
 def test_correct_enqueue(self, param):
     queue = impl.Queue()
     try:
         for element in param:
             queue.enqueue(element)
         for element in param:
             result = queue.dequeue()
             assert result == element
         for element in param:
             queue.enqueue(element)
         queue.enqueue('random_string')
         assert queue.len() == 2
         for element in param:
             m = queue.dequeue()
             assert m == element
         new_result = queue.dequeue()
         print(new_result)
         assert queue.len() == 0
     except:
         assert False
 def test_len_when_initalize(self):
     queue = impl.Queue()
     try:
         assert queue.len() == 0
     except:
         assert False
 def test_len_when_not_empty(self, param):
     queue = impl.Queue()
     for elem in param:
         queue.enqueue(elem)
     # print (param)
     assert queue.len() == len(param)
 def test_dequeue_when_queue_empty(self):
     q = impl.Queue()
     result = q.dequeue()
     assert result is None