Question: Create a test class that tests all the methods of the following class: (Please create it into a different class, instead of just putting it

Create a test class that tests all the methods of the following class: (Please create it into a different class, instead of just putting it in the main method of this class) Thanks!

import java.util.NoSuchElementException; public class QueueImpl implements QueueInterface { private Node first; // beginning of queue private Node last; // end of queue private int n; // number of elements on queue // helper linked list class private static class Node { private Object item; private Node next; } /** * Initializes an empty queue. */ public QueueImpl() { first = null; last = null; n = 0; } /** * Returns true if this queue is empty. * * @return {@code true} if this queue is empty; {@code false} otherwise */ public boolean isEmpty() { return first == null; } /** * Returns the number of items in this queue. * * @return the number of items in this queue */ public int size() { return n; } @Override public void enqueue(Object newEntry) { Node oldlast = last; last = new Node(); last.item = newEntry; last.next = null; if(isEmpty()) first = last; else oldlast.next = last; n++; } @Override public T dequeue() { if (isEmpty()) throw new NoSuchElementException("Queue underflow"); Object item = first.item; first = first.next; n--; if (isEmpty()) last = null; // to avoid loitering return (T) item; } @Override public T getFront() { if (isEmpty()) throw new NoSuchElementException("Queue underflow"); return (T) first.item; } @Override public void clear() { } }

The class above implements the following interface:

public interface QueueInterface

{

/** Adds a new entry to the back of this queue.

@param newEntry An object to be added. */

public void enqueue(T newEntry);

/** Removes and returns the entry at the front of this queue.

@return The object at the front of the queue.

@throws EmptyQueueException if the queue is empty before the operation. */

public T dequeue();

/** Retrieves the entry at the front of this queue.

@return The object at the front of the queue.

@throws EmptyQueueException if the queue is empty. */

public T getFront();

/** Detects whether this queue is empty.

@return True if the queue is empty, or false otherwise. */

public boolean isEmpty();

/** Removes all entries from this queue. */

public void clear();

/** generates a string containing all data in the queue and returns it

public String toString();

} // end QueueInterface

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 Databases Questions!