package test.com.coding.basic; import com.coding.basic.Iterator; import com.coding.basic.LinkedList; import org.junit.Test; import java.util.Arrays; import static org.junit.Assert.*; /** * LinkedList Test */ public class LinkedListTest { @Test public void add() throws Exception { LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(3); assertEquals(3,list.size()); } @Test public void addByIndex() throws Exception { LinkedList list = new LinkedList(); list.add(0,1); list.add(1,2); list.add(0,3); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } assertEquals(3, list.get(0)); } @Test public void get() throws Exception { LinkedList list = new LinkedList(); list.add(0,1); list.add(1,2); list.add(0,3); assertEquals(3,list.get(0)); } @Test public void remove() throws Exception { LinkedList list = new LinkedList(); list.add(0,1); list.add(1,2); list.add(0,3); list.add(3,4); list.add(4,5); list.remove(0); System.out.println(list.size()); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void size() throws Exception { LinkedList list = new LinkedList(); list.add(0,1); list.add(1,2); list.add(0,3); list.add(3,4); list.add(4,5); assertEquals(5, list.size()); } @Test public void addFirst() throws Exception { LinkedList list = new LinkedList(); list.add(0,1); list.add(1,2); list.add(0,3); list.add(3,4); list.add(4,5); list.addFirst(0); System.out.println(list.size()); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void addLast() throws Exception { LinkedList list = new LinkedList(); list.add(0,1); list.add(1,2); list.add(0,3); list.add(3,4); list.add(4,5); list.addLast(0); System.out.println(list.size()); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void removeFirst() throws Exception { LinkedList list = new LinkedList(); list.add(0,1); list.add(1,2); list.add(0,3); list.add(3,4); list.add(4,5); list.removeFirst(); System.out.println(list.size()); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void removeLast() throws Exception { LinkedList list = new LinkedList(); list.add(0,1); list.add(1,2); list.add(0,3); list.add(3,4); list.add(4,5); list.removeLast(); System.out.println(list.size()); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void iterator() throws Exception { LinkedList list = new LinkedList(); list.add(0,1); list.add(1,2); list.add(0,3); list.add(3,4); list.add(4,5); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void reverse(){ LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); list.reverse(); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void removeFirstHalf(){ LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(4); list.add(5); list.add(6); list.removeFirstHalf(); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void removeByLength(){ LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(4); list.add(5); list.add(6); list.remove(1,2); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void getElements(){ LinkedList list = new LinkedList(); list.add(11); list.add(101); list.add(201); list.add(301); list.add(401); list.add(501); list.add(601); list.add(701); LinkedList index = new LinkedList(); index.add(1); index.add(3); index.add(4); index.add(6); int[] arr = list.getElements(index); System.out.println(Arrays.toString(arr)); } @Test public void subtract(){ LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(4); list.add(5); list.add(6); LinkedList l2 = new LinkedList(); l2.add(1); l2.add(3); l2.add(4); l2.add(6); list.subtract(l2); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void removeDuplicateValues(){ LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(2); list.add(4); list.add(5); list.add(5); list.add(6); list.add(8); list.add(10); list.removeDuplicateValues(); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void removeRange(){ LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(2); list.add(4); list.add(5); list.add(5); list.add(6); list.add(8); list.add(10); list.removeRange(3,9); Iterator iterator = list.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } @Test public void intersection(){ LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(4); list.add(5); list.add(6); LinkedList l2 = new LinkedList(); l2.add(1); l2.add(3); l2.add(4); l2.add(6); LinkedList l3 = list.intersection(l2); Iterator iterator = l3.iterator(); while(iterator.hasNext()){ System.out.print(iterator.next() + " "); } } }