class BoundedQueue: # Constructor, which creates a new empty queue, with user-specified capacity: def __init__(self, capacity): self.__items=[] # Adds a new item to the back of the queue, and returns nothing: def enqueue(self, item): self.__items.append(item) # Removes and returns the front-most item in the queue. # Returns nothing if the queue is empty. def dequeue(self): if len(self.__items)!=0: return self.__items.pop(0) # Returns the front-most item in the queue, and DOES NOT change the queue. def peek(self): if len(self.__items)==0: return None return self.__items[0] # Returns True if the queue is empty, and False otherwise: def is_empty(self): return len(self.__items) == 0 # Returns True if the queue is full, and False otherwise: def is_full(self): return True # Returns the number of items in the queue: def size(self): return len(self.__items) # Returns the capacity of the queue: def capacity(self): self.__item=[] # Removes all items from the queue, and sets the size to 0. # clear() should not change the capacity def clear(self): self.__items=[] # Returns a string representation of the queue: def __str__(self): return("Memebers:{0} \nSize:{1}".format(self.__items,len(self.__items))) #use this function to test your Bounded Queue implementation def test(): is_pass = True try: string_queue = BoundedQueue('wrong type') except Exception as e: is_pass = True else: is_pass = False assert is_pass == True, "fail the test" try: string_queue = BoundedQueue(-1) except Exception as e: is_pass = True else: is_pass = False assert is_pass == True, "fail the test" string_queue = BoundedQueue(3) is_pass = (string_queue.size() == 0) assert is_pass == True, "fail the test" is_pass = (string_queue.capacity() == 3) assert is_pass == True, "fail the test" is_pass = (string_queue.is_empty()) assert is_pass == True, "fail the test" string_queue.enqueue("Hello") string_queue.enqueue("World") is_pass = (string_queue.size() == 2) assert is_pass == True, "fail the test" is_pass = (string_queue.peek() == "Hello") assert is_pass == True, "fail the test" is_pass = (string_queue.capacity() == 3) assert is_pass == True, "fail the test" is_pass = (string_queue.peek() == "Hello" and string_queue.size() == 2) assert is_pass == True, "fail the test" string_queue.enqueue("python") is_pass = (string_queue.is_full()) assert is_pass == True, "fail the test" try: string_queue.enqueue("rules") except Exception as e: is_pass = True else: is_pass = False assert is_pass == True, "fail the test" string_queue.clear() is_pass = (string_queue.capacity() == 3) assert is_pass == True, "fail the test" try: string_queue.dequeue() except Exception as e: is_pass = True else: is_pass = False assert is_pass == True, "fail the test" try: string_queue.peek() except Exception as e: is_pass = True else: is_pass = False assert is_pass == True, "fail the test" int_queue = BoundedQueue(2000) for i in range(0, 1000): int_queue.enqueue(i) correctOrder = True for i in range(0, 200): if int_queue.dequeue() != i: correctOrder = False is_pass = correctOrder assert is_pass == True, "fail the test" is_pass = (int_queue.size() == 800) assert is_pass == True, "fail the test" is_pass = (int_queue.capacity() == 2000) assert is_pass == True, "fail the test" is_pass = (int_queue.peek() == 200) assert is_pass == True, "fail the test" if is_pass == True: print ("=========== cong, your implementation passes the test ============") #let's test it if __name__ == '__main__': test()
So I have everything except: def __init__(self, capacity):, def is_full(self):, def capacity(self):
For def__init__(self, capacity) I need to raise an exception if capacity is negative and if its not a integer,
Ive tried a bunch of methods but there all wrong, the program keeps crashing on line 59, the def test(): is given to test my class so the problem is from the class, can i get some help.