@Test
public void testAllocate() {

	// There should be 5 available nodes
	assertEquals(5, pool.size());
	// Ask for 5 nodes; they should all be different
	ListNode<Integer> previous = null;
	for (int i = 0; i < 5; i++) {
		assertFalse(pool.isEmpty());
		ListNode<Integer> node = pool.allocate();
		assertNotSame(node, previous);
		assertNotNull(node);
		previous = node;
	}
	// The pool should now be empty
	assertTrue(pool.isEmpty());
	assertNull(pool.allocate());
}