def checkRemoveOperation(self): # by Using the Automation code print("\n") print("****Remove Operation Using Automation****") print("Test case for checking Remove Operation") self.queue.clear() self.addElements() print(" Element Remove from Queue ", self.queue.popleft()) print("After Remove of Element Queue content = ", self.queue) # Checking the inserted element is present in Queue self.checkElementnotPresent(self.element, self.queue) # by Using the function written print("****Remove Operation Using Function****") q = Queue() print("Initially Queue Contains", q.queue) q.insert(self.element + 1) q.insert(self.element + 2) print("Now Queue Contains", q.queue) print(" Element Remove from Queue ", q.remove()) print("Now Queue Contains", q.queue) # Checking the Removed element is present in Queue self.checkElementnotPresent(self.element, q.queue) print('*' * 70)
def checkSizeAfterRemove(self): print('\n') print("**** Check Size After Remove Operation using Queue Automation****") self.queue.clear() self.addElements() print(" Element Remove from Queue ", self.queue.popleft()) print("After Remove of Element Queue content = ", self.queue) # finding size size = 0 for elements in self.queue: size += 1 print("Size of Queue Is = ", size) # by using the function print("\n") print("**** Operation Using Function****") q = Queue() print("Initially Queue Contains", q.queue) q.insert(self.element + 1) q.insert(self.element + 2) q.remove() print("Now Queue Contains", q.queue) # calling function of size from the print("Size of Queue is ", q.size()) if q.size() == size: print("both sizes of Automated Queue and Function Queue are Equal Test Case passed") else: print("Test Case is Failed size is not Equal") print('*' * 70)
def checkRemoveFromEmptyQueue(self): print('\n') print("****Remove From Empty Queue Operation Using Automation****") print("Test case for checking Deleting from Empty Queue") self.queue.clear() print('Now Queue contains', self.queue) print('Trying to Delete from Empty Queue') try: self.queue.popleft() except IndexError: print("You cant Remove from Empty Queue\n") print("****Remove From Empty Queue Operation Using Automation****") z = Queue() z.queue.clear() print("Now Queue Contains", z.queue) print('Trying to Delete from Empty Queue') z.remove() print("Test Case is Passed") print('*'*71)
class Stack: def __init__(self): self.__queue = Queue() def push(self, item): self.__queue.enqueue(item) def pop(self): if self.__queue.length() != 1: self.__re_order() return self.__queue.dequeue() def length(self): return self.__queue.length() def __re_order(self): i = 1 length = self.__queue.length() while i < length: self.__queue.enqueue(self.__queue.dequeue()) i += 1
def bfs(graph: Graph, source: Any) -> list: """ Perform breadth-frist search on the given graph from the specified source vertex :param graph: the graph to perform bfs on :param source: the vertex to start from :return: a list of breadth-first traversal of format (vertex, distance, parent) """ bfs_traversal = [] vertices = graph.adjacency_list.keys() status = {} # synonymous to colours, initialized at white (unvisited) distance = {} # distance from source parent = {} # parent of discovered vertex for vertex in vertices: status[vertex] = 0 distance[vertex] = None # indicates depth of disconnect parent[vertex] = None status[ source] = 1 # initialize source at grey (visited but not explored completely) distance[source] = 0 # the distance from the source to itself is 0 q = Queue() # queue for vertices that need to be explored q.enqueue(source) while not q.is_empty(): u = q.dequeue() for v in graph.adjacency_list[u]: if status[v] == 0: # if vertex v is white status[v] = 1 # update v to grey distance[v] = distance[u] + 1 parent[v] = u q.enqueue(v) status[u] = 2 # we have fully explored u, hence update u to black bfs_traversal.append((u, distance[u], parent[u])) return bfs_traversal
def checkInsertOperationinQueue(self): # by Using the Automation code print('\n') print("****Insert Operation using Queue Automation****") self.queue.clear() self.addElements() # Checking the inserted element is present in Queue if self.element+1 in self.queue: print("The Element is inserted ", self.element+1) print("Element is present in Queue") else: print("Element is Not present in list") print("Now Queue Contains Last Inserted Element ", self.queue, '\n') # by Using the function written print("****Insert Operation Using Function****") q = Queue() print("Initially Queue Contains", q.queue) q.insert(self.element+1) q.insert(self.element + 2) print("Now the contents of queue is =", q.queue) # Checking the inserted element is present in Queue if self.element+1 in q.queue: print("The Element is inserted ", self.element+1) print("Element is present in Queue") else: print("Element is Not present in list") # comparing two Queues Are Equal or not AutomatedQueue = self.queue FunctionQueue = q.queue for QAelements in AutomatedQueue: for QFelements in FunctionQueue: if QAelements == QFelements: None print("Both Queue are Same Insertion TestCase passed") print('*' * 70)
def setUp(self): self.queue = Queue()
class TestQueue(unittest.TestCase): def setUp(self): self.queue = Queue() def test_queue_is_initialised(self): self.assertEqual(0, self.queue.length()) def test_enqueue_is_increasing_length(self): self.queue.enqueue(5) self.queue.enqueue(10) self.assertEqual(2, self.queue.length()) def test_dequeue_is_reducing_length(self): self.queue.enqueue(15) self.assertEqual(15, self.queue.dequeue()) self.assertEqual(0, self.queue.length()) def test_queue_follows_FIFO(self): self.queue.enqueue(20) self.queue.enqueue(25) self.assertEqual(2, self.queue.length()) self.assertEqual(20, self.queue.dequeue()) def test_dequeue_return_error_from_empty_queue(self): with self.assertRaises(QueueEmptyException): self.queue.dequeue()
def __init__(self): self.__queue = Queue()
def QueExecution(self): q=Queue() q.callingQueue()