Question: I am getting 2 errors on my test that I can't solve, I need help fixing lab 1 0 . py so it can pass
I am getting errors on my test that I can't solve, I need help fixing labpy so it can pass TestLabpy I put my code, test, and error message below:
labpy
class Entry:
def initself item, priority:
self.item item
self.priority priority
def ltself other:
return self.priority other.priority
def eqself other:
return self.priority other.priority and self.item other.item
class PQUL:
def initself:
self.queue
self.len
def insertself item, priority:
entry Entryitem priority
self.len
self.queue.appendentry
def findminself:
if not self.queue:
return None
return minselfqueue
def removeminself:
if not self.queue:
return None
minentry minselfqueue
self.len
self.queue.removeminentry
return minentry
def lenself:
return self.len
class PQOL:
def initself:
self.queue
self.len
def insertself item, priority:
entry Entryitem priority
self.len
self.queue.appendentry
self.queue.sort
def findminself:
if not self.queue:
return None
minentry self.queue
return minentry.item
def removeminself:
if not self.queue:
return None
minentry self.queue.pop
self.len
return minentry.item
def lenself:
return self.len
TestLabpy
import random
import unittest
from lab import PQOL PQUL Entry
random.seed # Fix the seed so it fails the same way every time if there is a bug
class TestEntryunittestTestCase:
def setUpself:
self.e Entryrachel
self.e Entryjake
self.e Entrymarco
self.e Entrycassie
self.e Entrytobias
self.e Entryax
def testinitself:
Tests that initialization is called correctly"""
self.assertEqualselfeitem, 'rachel'
self.assertEqualselfepriority,
def testltself:
Tests less than operator"""
for e in selfe self.e self.e self.e self.e:
self.assertLessselfe e
for e in selfe self.e self.e self.e self.e:
self.assertGreaterselfe e
self.assertFalseselfe Entryalice
def testeqself:
Tests equality operator"""
self.assertEqualselfe Entryrachel # same item & priority
self.assertNotEqualselfe Entryrachel # same item, different priority
self.assertNotEqualselfe Entryjake # same item, different priority
class TestPQULunittestTestCase:
def testaddremovesequentialself:
Adds and removes items sequentially"""
# Construct PQ
n
pq PQUL
for i in rangen:
self.assertEquallenpq i
pqinsertstri i
# Removes entries one at a time
old pqfindmin
for i in rangen:
peek pqfindmin
new pqremovemin
assert new peek
assert old.priority new.priority # make sure we are removing in order
old new
def testaddremoverandomself:
Randomly adds, then removes, a large number of items"""
# Construct PQ
n
pq PQUL
for i in rangen:
pqinsertpikachu random.randint n
# Removes entries one at a time
old pqfindmin
for i in rangen:
peek pqfindmin
new pqremovemin
assert new peek
assert old.priority new.priority # make sure we are removing in order
old new
class TestPQOLunittestTestCase:
def testaddremovesequentialself:
Adds and removes items sequentially"""
# Construct PQ
n
pq PQOL
for i in rangen:
self.assertEquallenpq i
pqinsertstri i
# Removes entries one at a time
old pqfindmin
for i in rangen:
peek pqfindmin
new pqremovemin
assert new peek
assert old.priority new.priority # make sure we are removing in order
old new
def testaddremoverandomself:
Randomly adds, then removes, a large number of items"""
# Construct PQ
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
