@Test
public void testPoll004() throws Exception {

    int capacity = 3;
    long timeout = 100;
    TimeUnit unit = TimeUnit.MILLISECONDS;
    ArrayBlockingQueueEx<DataValueObject> queue = new ArrayBlockingQueueEx<DataValueObject>(capacity);
    DataValueObject obj1 = new DataValueObject("hoge");
    DataValueObject obj2 = new DataValueObject("fuga");
    DataValueObject obj3 = new DataValueObject("piyo");
    // キューに要素を詰める（add使用）
    queue.add(obj1);
    queue.add(obj2);
    queue.add(obj3);
    int sizeBefore = queue.size();
    // pollで要素を1つ取得
    DataValueObject objPoll = queue.poll(timeout, unit);
    int sizeAfter = queue.size();
    // 取得した要素がaddで最初に詰めた要素（先頭の要素）であることを確認
    assertEquals(obj1, objPoll);
    // 要素数が1つ減っていることを確認
    assertEquals(1, sizeBefore - sizeAfter);
}