@Test
	/**
	 * Test if the Queue remains consistent after a deletion 
	 */
	public void testQueueConsistencyOnDeletion() {
		
		//Add elements
		Memory.put("car1", "ferrari");
		Memory.put("car2", "toyota");
		Memory.put("car3", "honda");
		
		//Get the first version of the queue
		LinkedList<Node> list1 = (LinkedList<Node>)Queue.getElements();
		
		//Create a backup listo to compare
		LinkedList<String> backupList = new LinkedList<String>();
		for (Node node2 : list1) {
			backupList.add(node2.getKey());
		}
		
		//Delete the element
		Memory.delete("car1"); 
		
		//Get the new list of elements
		LinkedList<Node> list2 = (LinkedList<Node>)Queue.getElements();
		
		//Create the second backup queue
		LinkedList<String> backupList2 = new LinkedList<String>();
		for (Node node2 : list2) {
			backupList2.add(node2.getKey());
		}
		
		//Check the queue sizes
		if ((backupList.size()-backupList2.size())!=1)
			fail("Incorrect sizes: "+backupList2.size()+", "+backupList.size());
			
		//Remove the previous removed element from the first queue
		backupList.remove("car1");
		
		//Compare the queue elements
		for (int i = 0;i<backupList.size();i++) {
			if (!(backupList.get(i).equals(backupList2.get(i))))
				fail("Different Elements");
		}
				
	}