@Test
public void testPoll002() throws Exception {

    int capacity = 1;
    long timeout = 1000;
    TimeUnit unit = TimeUnit.MILLISECONDS;
    ArrayBlockingQueueEx<DataValueObject> queue = new ArrayBlockingQueueEx<DataValueObject>(capacity);
    // キューが空であることの確認
    assertEquals(0, queue.size());
    // pollの実行と処理時間計測
    long timeStart = System.currentTimeMillis();
    DataValueObject objResult = queue.poll(timeout, unit);
    long timeEnd = System.currentTimeMillis();
    long timeDiff = timeEnd - timeStart;
    // 結果確認
    // 約1000ミリ秒の待ち確認(50ミリ秒の誤差を許容)
    if (timeDiff < (timeout - 50)) {
        fail();
    }
    assertNull(objResult);
}