def simulation(numseconds, pagesperminute): labprinter = Printer(pagesperminute) printerqueue = Queue() waitingtimes = [] longestqueue = 0 for currentsecond in range(numseconds): if newprinttask(): newtask = Task(currentsecond) printerqueue.enqueue(newtask) if printerqueue.size() > longestqueue: longestqueue = printerqueue.size() if not labprinter.busy() and printerqueue.has_items(): nexttask = printerqueue.dequeue() waitingtimes.append(nexttask.waittime(currentsecond)) labprinter.startnext(nexttask) labprinter.tick() averagewait = sum(waitingtimes) / len(waitingtimes) print "Average Wait %6.2f secs %3d tasks remaining." % ( averagewait, printerqueue.size()) print "The longest the queue got to was %d tasks. \n" % (longestqueue)
def simulation(numseconds, pagesperminute): labprinter = Printer(pagesperminute) printerqueue = Queue() waitingtimes = [] longestqueue = 0 for currentsecond in range(numseconds): if newprinttask(): newtask = Task(currentsecond) printerqueue.enqueue(newtask) if printerqueue.size() > longestqueue: longestqueue = printerqueue.size() if not labprinter.busy() and printerqueue.has_items(): nexttask = printerqueue.dequeue() waitingtimes.append(nexttask.waittime(currentsecond)) labprinter.startnext(nexttask) labprinter.tick() averagewait = sum(waitingtimes)/len(waitingtimes) print "Average Wait %6.2f secs %3d tasks remaining." % (averagewait, printerqueue.size()) print "The longest the queue got to was %d tasks. \n" % (longestqueue)
def test_has_items(self): queue = Queue() self.assertFalse(queue.has_items()) queue.enqueue('a thing') self.assertTrue(queue.has_items())