@Test
  public void testGetFromUserAndBucket_shouldReturnCorrectItem() {
    queue.merge(item1);

    QueueItem result = queue.getFromBucketAndUser(item1.getBucket(), item1.getUserName());

    assertEquals(result, item1);
  }
  @Test
  public void testGetAll_shouldReturnAllItems() {
    queue.merge(item1);
    queue.merge(item2);

    Collection<QueueItem> all = queue.getAll();

    assertEquals(2, all.size());
    assertTrue(all.contains(item1));
    assertTrue(all.contains(item2));
  }
  @Test
  public void testAllQueuedByUser_shouldReturnAllQueuedItemsByUser() {
    queue.merge(item1);
    queue.merge(item2);
    queue.merge(item3);

    List<QueueItem> allUnplayed = queue.allQueuedByUser(account);

    assertEquals(1, allUnplayed.size());
    assertTrue(allUnplayed.contains(item1));
  }
  @Test
  public void testGetAllUnplayed_shouldReturnAllUnplayedItems() {
    queue.merge(item1);
    queue.merge(item2);
    queue.merge(item3);

    List<QueueItem> allUnplayed = queue.getAllUnplayed();

    assertEquals(2, allUnplayed.size());
    assertTrue(allUnplayed.contains(item2));
    assertTrue(allUnplayed.contains(item3));
  }