@Test public void testAddLast() throws Exception { final int COUNT = 1000; LinkedList<ByteSequence> list = new LinkedList<ByteSequence>(); for (int i = 0; i < COUNT; i++) { String test = new String("test" + i); ByteSequence bs = new ByteSequence(test.getBytes()); list.addLast(bs); plist.addLast(test, bs); } assertEquals(plist.size(), COUNT); PList.PListIterator actual = plist.iterator(); Iterator<ByteSequence> expected = list.iterator(); while (expected.hasNext()) { ByteSequence bs = expected.next(); assertTrue(actual.hasNext()); PListEntry entry = actual.next(); String origStr = new String(bs.getData(), bs.getOffset(), bs.getLength()); String plistString = new String(entry.getByteSequence().getData(), entry.getByteSequence().getOffset(), entry.getByteSequence().getLength()); assertEquals(origStr, plistString); } assertFalse(actual.hasNext()); }
@Test public void testAddFirst() throws Exception { final int COUNT = 1000; LinkedList<ByteSequence> list = new LinkedList<ByteSequence>(); for (int i = 0; i < COUNT; i++) { String test = new String("test" + i); ByteSequence bs = new ByteSequence(test.getBytes()); list.addFirst(bs); plist.addFirst(test, bs); } assertEquals(plist.size(), COUNT); PList.PListIterator actual = plist.iterator(); Iterator<ByteSequence> expected = list.iterator(); while (expected.hasNext()) { ByteSequence bs = expected.next(); assertTrue(actual.hasNext()); PListEntry entry = actual.next(); String origStr = new String(bs.getData(), bs.getOffset(), bs.getLength()); String plistString = new String(entry.getByteSequence().getData(), entry.getByteSequence().getOffset(), entry.getByteSequence().getLength()); assertEquals(origStr, plistString); } assertFalse(actual.hasNext()); }
@Override public boolean hasNext() { return iterator.hasNext(); }
@Override public boolean hasNext() { return iterator.hasNext(); }
@Override public boolean hasNext() { return iterator.hasNext(); }
@Override public boolean hasNext() { return iterator.hasNext(); }
private PListEntry getFirst(PList plist) throws IOException { PList.PListIterator iterator = plist.iterator(); try { if( iterator.hasNext() ) { return iterator.next(); } else { return null; } }finally { iterator.release(); } }