@Test
public void testRemove()
{

   queue.offer(new FairQueueTestString("key1", "item1"));
   queue.offer(new FairQueueTestString("key1", "item2"));
   queue.offer(new FairQueueTestString("key1", "item3"));
   queue.offer(new FairQueueTestString("key2", "item4"));
   queue.offer(new FairQueueTestString("key2", "item5"));
   Assert.assertEquals(queue.size(), 5);
   Assert.assertEquals(queue.remove(), new FairQueueTestString("key1", "item1"));
   Assert.assertEquals(queue.size(), 4);
   Assert.assertEquals(queue.remove(), new FairQueueTestString("key2", "item4"));
   Assert.assertEquals(queue.size(), 3);
   Assert.assertEquals(queue.remove(), new FairQueueTestString("key1", "item2"));
   Assert.assertEquals(queue.size(), 2);
   Assert.assertEquals(queue.remove(), new FairQueueTestString("key2", "item5"));
   Assert.assertEquals(queue.size(), 1);
   Assert.assertEquals(queue.remove(), new FairQueueTestString("key1", "item3"));
   Assert.assertEquals(queue.size(), 0);
}