@Test public void removeHead() { LinkedList alg = new LinkedList(); alg.pushHead(1); assertTrue(alg.removeHead().equals(1)); assertEquals(0,alg.size); assertEquals(1,alg.available.size()); checkList(alg); alg.pushTail(1); alg.pushTail(2); assertTrue(alg.removeHead().equals(1)); assertEquals(1,alg.size); assertEquals(1,alg.available.size()); checkList(alg); }
@Test public void removeTail() { LinkedList alg = new LinkedList(); alg.pushHead(1); assertTrue(alg.removeTail().equals(1)); assertEquals(0,alg.size); assertEquals(1,alg.available.size()); checkList(alg); alg.pushTail(1); alg.pushTail(2); assertTrue(alg.removeTail().equals(2)); assertEquals(1,alg.size); assertEquals(1,alg.available.size()); checkList(alg); }
@Test public void pushTail() { LinkedList alg = new LinkedList(); LinkedList.Element e0 = alg.pushTail(1); assertEquals(1,alg.size); checkList(alg); LinkedList.Element e1 = alg.pushTail(2); assertEquals(2,alg.size); assertTrue(e0 == alg.first); assertTrue(e1 == alg.last); checkList(alg); LinkedList.Element e2 = alg.pushTail(3); assertEquals(3,alg.size); assertTrue(e0 == alg.first); assertTrue(e2 == alg.last); checkList(alg); }
@Test public void getElement() { LinkedList alg = new LinkedList(); LinkedList.Element e0 = alg.pushTail(1); LinkedList.Element e1 = alg.pushTail(2); LinkedList.Element e2 = alg.pushTail(2); assertTrue(e0 == alg.getElement(0,true)); assertTrue(e1 == alg.getElement(1,true)); assertTrue(e2 == alg.getElement(2,true)); assertTrue(e2 == alg.getElement(0,false)); assertTrue(e1 == alg.getElement(1,false)); assertTrue(e0 == alg.getElement(2,false)); }
@Test public void remove() { LinkedList alg = new LinkedList(); LinkedList.Element e0,e1,e2; e0 = alg.pushTail(1); alg.remove(e0); assertEquals(0,alg.size); assertEquals(1,alg.available.size()); checkList(alg); e0 = alg.pushTail(1); e1 = alg.pushTail(2); alg.remove(e1); assertTrue(e0==alg.first); assertEquals(1,alg.size); assertEquals(1,alg.available.size()); checkList(alg); e1 = alg.pushTail(2); alg.remove(e0); assertTrue(e1==alg.first); assertEquals(1,alg.size); assertEquals(1,alg.available.size()); checkList(alg); e0 = alg.pushHead(1); e2 = alg.pushTail(3); alg.remove(e1); assertTrue(e0==alg.first); assertEquals(2,alg.size); assertEquals(1,alg.available.size()); checkList(alg); }
@Test public void getTail() { LinkedList alg = new LinkedList(); assertTrue(null==alg.getHead()); LinkedList.Element e = alg.pushHead(1); assertTrue(e == alg.getTail()); e = alg.pushTail(2); assertTrue(e == alg.getTail()); }
LinkedList alg = new LinkedList(); LinkedList.Element e0 = alg.pushTail(1); LinkedList.Element e1 = alg.pushTail(2); checkList(alg); LinkedList.Element e2 = alg.pushTail(3); alg.swap(e0,e1); assertTrue(alg.first == e1); checkList(alg); LinkedList.Element e3 = alg.pushTail(4); alg.swap(e0,e2); assertTrue(alg.first == e2);