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 2 errors on my test that I can't solve, I need help fixing lab10.py so it can pass TestLab10.py. I put my code, test, and error message below:
lab10.py
class Entry:
def __init__(self, item, priority):
self.item = item
self.priority = priority
def __lt__(self, other):
return self.priority other.priority
def __eq__(self, other):
return self.priority == other.priority and self.item == other.item
class PQ_UL:
def __init__(self):
self.queue =[]
self.len =0
def insert(self, item, priority):
entry = Entry(item, priority)
self.len +=1
self.queue.append(entry)
def find_min(self):
if not self.queue:
return None
return min(self.queue)
def remove_min(self):
if not self.queue:
return None
min_entry = min(self.queue)
self.len -=1
self.queue.remove(min_entry)
return min_entry
def __len__(self):
return self.len
class PQ_OL:
def __init__(self):
self.queue =[]
self.len =0
def insert(self, item, priority):
entry = Entry(item, priority)
self.len +=1
self.queue.append(entry)
self.queue.sort()
def find_min(self):
if not self.queue:
return None
min_entry = self.queue[0]
return min_entry.item
def remove_min(self):
if not self.queue:
return None
min_entry = self.queue.pop(0)
self.len -=1
return min_entry.item
def __len__(self):
return self.len
TestLab10.py
import random
import unittest
from lab10 import PQ_OL, PQ_UL, Entry
random.seed(658) # Fix the seed so it fails the same way every time if there is a bug
class TestEntry(unittest.TestCase):
def setUp(self):
""""""
self.e1= Entry("rachel",0)
self.e2= Entry("jake",1)
self.e3= Entry("marco",2)
self.e4= Entry("cassie",3)
self.e5= Entry("tobias",4)
self.e6= Entry("ax",5)
def test_init(self):
"""Tests that initialization is called correctly"""
self.assertEqual(self.e1.item, 'rachel')
self.assertEqual(self.e1.priority, 0)
def test_lt(self):
"""Tests less than operator"""
for e in [self.e2, self.e3, self.e4, self.e5, self.e6]:
self.assertLess(self.e1, e)
for e in [self.e1, self.e2, self.e3, self.e4, self.e5]:
self.assertGreater(self.e6, e)
self.assertFalse(self.e1 Entry("alice",0))
def test_eq(self):
"""Tests equality operator"""
self.assertEqual(self.e1, Entry("rachel",0)) # same item & priority
self.assertNotEqual(self.e1, Entry("rachel",1)) # same item, different priority
self.assertNotEqual(self.e1, Entry("jake",0)) # same item, different priority
class TestPQ_UL(unittest.TestCase):
def test_add_remove_sequential(self):
"""Adds and removes items sequentially"""
# Construct PQ
n =100
pq = PQ_UL()
for i in range(n):
self.assertEqual(len(pq), i)
pq.insert(str(i), i)
# Removes entries one at a time
old = pq.find_min()
for i in range(n):
peek = pq.find_min()
new = pq.remove_min()
assert new == peek
assert old.priority = new.priority # make sure we are removing in order
old = new
def test_add_remove_random(self):
"""Randomly adds, then removes, a large number of items"""
# Construct PQ
n =100
pq = PQ_UL()
for i in range(n):
pq.insert('pikachu', random.randint(0, n))
# Removes entries one at a time
old = pq.find_min()
for i in range(n):
peek = pq.find_min()
new = pq.remove_min()
assert new == peek
assert old.priority = new.priority # make sure we are removing in order
old = new
class TestPQ_OL(unittest.TestCase):
def test_add_remove_sequential(self):
"""Adds and removes items sequentially"""
# Construct PQ
n =1000
pq = PQ_OL()
for i in range(n):
self.assertEqual(len(pq), i)
pq.insert(str(i), i)
# Removes entries one at a time
old = pq.find_min()
for i in range(n):
peek = pq.find_min()
new = pq.remove_min()
assert new == peek
assert old.priority = new.priority # make sure we are removing in order
old = new
def test_add_remove_random(self):
"""Randomly adds, then removes, a large number of items"""
# Construct PQ
I am getting 2 errors on my test that I can't

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!