public void remove() { if (lastReturnedIndex == -1) throw new IllegalStateException(); // First element can be removed quickly if (lastReturnedIndex == m_head) { UnboundedFifoBuffer.this.remove(); lastReturnedIndex = -1; return; } // Other elements require us to shift the subsequent elements int i = increment(lastReturnedIndex); while (i != m_tail) { m_buffer[decrement(i)] = m_buffer[i]; i = increment(i); } lastReturnedIndex = -1; m_tail = decrement(m_tail); m_buffer[m_tail] = null; index = decrement(index); }
public void remove() { if (lastReturnedIndex == -1) throw new IllegalStateException(); // First element can be removed quickly if (lastReturnedIndex == m_head) { UnboundedFifoBuffer.this.remove(); lastReturnedIndex = -1; return; } // Other elements require us to shift the subsequent elements int i = increment(lastReturnedIndex); while (i != m_tail) { m_buffer[decrement(i)] = m_buffer[i]; i = increment(i); } lastReturnedIndex = -1; m_tail = decrement(m_tail); m_buffer[m_tail] = null; index = decrement(index); }
/** * Tests that UnboundedFifoBuffer removes elements in the right order. */ public void testUnboundedFifoBufferRemove() { resetFull(); int size = confirmed.size(); for (int i = 0; i < size; i++) { Object o1 = ((UnboundedFifoBuffer)collection).remove(); Object o2 = ((ArrayList)confirmed).remove(0); assertEquals("Removed objects should be equal", o1, o2); verify(); } }
public void testInternalStateIteratorRemoveWithWrap3() { UnboundedFifoBuffer test = new UnboundedFifoBuffer(3); test.add("A"); test.add("B"); test.add("C"); test.remove("A"); test.remove("B"); test.add("D"); test.add("E"); assertEquals(4, test.m_buffer.length); assertEquals(2, test.m_head); assertEquals(1, test.m_tail); Iterator it = test.iterator(); assertEquals("C", it.next()); assertEquals("D", it.next()); assertEquals("E", it.next()); it.remove(); assertEquals(4, test.m_buffer.length); assertEquals(2, test.m_head); assertEquals(0, test.m_tail); }
public void testInternalStateIteratorRemoveWithWrap1() { UnboundedFifoBuffer test = new UnboundedFifoBuffer(3); test.add("A"); test.add("B"); test.add("C"); test.remove("A"); test.remove("B"); test.add("D"); test.add("E"); assertEquals(4, test.m_buffer.length); assertEquals(2, test.m_head); assertEquals(1, test.m_tail); Iterator it = test.iterator(); assertEquals("C", it.next()); it.remove(); assertEquals(4, test.m_buffer.length); assertEquals(3, test.m_head); assertEquals(1, test.m_tail); }
public void testInternalStateIteratorRemoveWithWrap2() { UnboundedFifoBuffer test = new UnboundedFifoBuffer(3); test.add("A"); test.add("B"); test.add("C"); test.remove("A"); test.remove("B"); test.add("D"); test.add("E"); assertEquals(4, test.m_buffer.length); assertEquals(2, test.m_head); assertEquals(1, test.m_tail); Iterator it = test.iterator(); assertEquals("C", it.next()); assertEquals("D", it.next()); it.remove(); assertEquals(4, test.m_buffer.length); assertEquals(2, test.m_head); assertEquals(0, test.m_tail); }
public void testInternalStateIteratorRemoveWithTailAtEnd3() { UnboundedFifoBuffer test = new UnboundedFifoBuffer(3); test.add("A"); test.add("B"); test.add("C"); test.remove("A"); test.add("D"); assertEquals(4, test.m_buffer.length); assertEquals(1, test.m_head); assertEquals(0, test.m_tail); Iterator it = test.iterator(); assertEquals("B", it.next()); assertEquals("C", it.next()); assertEquals("D", it.next()); it.remove(); assertEquals(4, test.m_buffer.length); assertEquals(1, test.m_head); assertEquals(3, test.m_tail); }
public void testInternalStateIteratorRemoveWithTailAtEnd2() { UnboundedFifoBuffer test = new UnboundedFifoBuffer(3); test.add("A"); test.add("B"); test.add("C"); test.remove("A"); test.add("D"); assertEquals(4, test.m_buffer.length); assertEquals(1, test.m_head); assertEquals(0, test.m_tail); Iterator it = test.iterator(); assertEquals("B", it.next()); assertEquals("C", it.next()); it.remove(); assertEquals(4, test.m_buffer.length); assertEquals(1, test.m_head); assertEquals(3, test.m_tail); }
public void testInternalStateIteratorRemoveWithTailAtEnd1() { UnboundedFifoBuffer test = new UnboundedFifoBuffer(3); test.add("A"); test.add("B"); test.add("C"); test.remove("A"); test.add("D"); assertEquals(4, test.m_buffer.length); assertEquals(1, test.m_head); assertEquals(0, test.m_tail); Iterator it = test.iterator(); assertEquals("B", it.next()); it.remove(); assertEquals(4, test.m_buffer.length); assertEquals(2, test.m_head); assertEquals(0, test.m_tail); }
public void testInternalStateRemove1() { UnboundedFifoBuffer test = new UnboundedFifoBuffer(4); test.add("A"); test.add("B"); test.add("C"); assertEquals(5, test.m_buffer.length); assertEquals(0, test.m_head); assertEquals(3, test.m_tail); test.remove("A"); assertEquals(5, test.m_buffer.length); assertEquals(1, test.m_head); assertEquals(3, test.m_tail); test.add("D"); assertEquals(5, test.m_buffer.length); assertEquals(1, test.m_head); assertEquals(4, test.m_tail); }
public void testInternalStateRemove2() { UnboundedFifoBuffer test = new UnboundedFifoBuffer(4); test.add("A"); test.add("B"); test.add("C"); assertEquals(5, test.m_buffer.length); assertEquals(0, test.m_head); assertEquals(3, test.m_tail); test.remove("B"); assertEquals(5, test.m_buffer.length); assertEquals(0, test.m_head); assertEquals(2, test.m_tail); test.add("D"); assertEquals(5, test.m_buffer.length); assertEquals(0, test.m_head); assertEquals(3, test.m_tail); }
public void remove() { if (lastReturnedIndex == -1) throw new IllegalStateException(); // First element can be removed quickly if (lastReturnedIndex == m_head) { UnboundedFifoBuffer.this.remove(); lastReturnedIndex = -1; return; } // Other elements require us to shift the subsequent elements int i = increment(lastReturnedIndex); while (i != m_tail) { m_buffer[decrement(i)] = m_buffer[i]; i = increment(i); } lastReturnedIndex = -1; m_tail = decrement(m_tail); m_buffer[m_tail] = null; index = decrement(index); }
public void remove() { if (lastReturnedIndex == -1) throw new IllegalStateException(); // First element can be removed quickly if (lastReturnedIndex == m_head) { UnboundedFifoBuffer.this.remove(); lastReturnedIndex = -1; return; } // Other elements require us to shift the subsequent elements int i = increment(lastReturnedIndex); while (i != m_tail) { m_buffer[decrement(i)] = m_buffer[i]; i = increment(i); } lastReturnedIndex = -1; m_tail = decrement(m_tail); m_buffer[m_tail] = null; index = decrement(index); }
public void remove() { if (lastReturnedIndex == -1) throw new IllegalStateException(); // First element can be removed quickly if (lastReturnedIndex == m_head) { UnboundedFifoBuffer.this.remove(); lastReturnedIndex = -1; return; } // Other elements require us to shift the subsequent elements int i = increment(lastReturnedIndex); while (i != m_tail) { m_buffer[decrement(i)] = m_buffer[i]; i = increment(i); } lastReturnedIndex = -1; m_tail = decrement(m_tail); m_buffer[m_tail] = null; index = decrement(index); }
public void remove() { if (lastReturnedIndex == -1) throw new IllegalStateException(); // First element can be removed quickly if (lastReturnedIndex == m_head) { UnboundedFifoBuffer.this.remove(); lastReturnedIndex = -1; return; } // Other elements require us to shift the subsequent elements int i = increment(lastReturnedIndex); while (i != m_tail) { m_buffer[decrement(i)] = m_buffer[i]; i = increment(i); } lastReturnedIndex = -1; m_tail = decrement(m_tail); m_buffer[m_tail] = null; index = decrement(index); }
public void remove() { if (lastReturnedIndex == -1) throw new IllegalStateException(); // First element can be removed quickly if (lastReturnedIndex == m_head) { UnboundedFifoBuffer.this.remove(); lastReturnedIndex = -1; return; } // Other elements require us to shift the subsequent elements int i = increment(lastReturnedIndex); while (i != m_tail) { m_buffer[decrement(i)] = m_buffer[i]; i = increment(i); } lastReturnedIndex = -1; m_tail = decrement(m_tail); m_buffer[m_tail] = null; index = decrement(index); }