/** * */ package com.coding.basic2; import static org.junit.Assert.*; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; /** * @author Administrator * */ public class LinkedListTest { /** * @throws java.lang.Exception */ @BeforeClass public static void setUpBeforeClass() throws Exception { } /** * @throws java.lang.Exception */ @AfterClass public static void tearDownAfterClass() throws Exception { } private LinkedList ll1; private LinkedList ll2; /** * @throws java.lang.Exception */ @Before public void setUp() throws Exception { ll1 = new LinkedList(); ll2 = new LinkedList(); } /** * @throws java.lang.Exception */ @After public void tearDown() throws Exception { ll1 = null; ll2 = null; } /** * Test method for {@link com.coding.basic2.LinkedList#add(java.lang.Object)}. */ @Test public void testAddObject() { assertEquals(0, ll1.size()); ll1.add(1); assertEquals(1,ll1.size()); assertEquals(1,(int)ll1.get(0)); } /** * Test method for {@link com.coding.basic2.LinkedList#add(int, java.lang.Object)}. */ @Test public void testAddIntObject() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.add(1,3); assertEquals(3,ll1.size()); assertEquals(1,(int)ll1.get(0)); assertEquals(3,(int)ll1.get(1)); assertEquals(2,(int)ll1.get(2)); } /** * Test method for {@link com.coding.basic2.LinkedList#get(int)}. */ @Test public void testGet() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); assertEquals(1,(int)ll1.get(0)); assertEquals(2,(int)ll1.get(1)); assertEquals(2,ll1.size()); } /** * Test method for {@link com.coding.basic2.LinkedList#remove(int)}. */ @Test public void testRemoveInt() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); assertEquals(2,ll1.size()); assertEquals(1,(int)ll1.remove(0)); assertEquals(2,(int)ll1.remove(0)); assertEquals(0,ll1.size()); } /** * Test method for {@link com.coding.basic2.LinkedList#size()}. */ @Test public void testSize() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.add(2); ll1.add(2); assertEquals(4,ll1.size()); ll1.add(1,2); ll1.add(0,2); ll1.add(4,2); assertEquals(7,ll1.size()); } /** * Test method for {@link com.coding.basic2.LinkedList#addFirst(java.lang.Object)}. */ @Test public void testAddFirst() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.addFirst(0); assertEquals(3,ll1.size()); assertEquals(0,ll1.get(0)); } /** * Test method for {@link com.coding.basic2.LinkedList#addLast(java.lang.Object)}. */ @Test public void testAddLast() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.addLast(3); assertEquals(3,ll1.size()); assertEquals(3,ll1.get(2)); } /** * Test method for {@link com.coding.basic2.LinkedList#removeFirst()}. */ @Test public void testRemoveFirst() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.add(3); assertEquals(3,ll1.size()); assertEquals(1,ll1.removeFirst()); assertEquals(2,ll1.size()); } /** * Test method for {@link com.coding.basic2.LinkedList#removeLast()}. */ @Test public void testRemoveLast() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.add(3); assertEquals(3,ll1.size()); assertEquals(3,ll1.removeLast()); assertEquals(2,ll1.size()); } /** * Test method for {@link com.coding.basic2.LinkedList#iterator()}. */ @Test public void testIterator() { ll1.add(0); ll1.add(1); ll1.add(3); Iterator it = ll1.iterator(); assertTrue(it.hasNext()); assertEquals(0,(int)it.next()); assertTrue(it.hasNext()); assertEquals(1,(int)it.next()); assertTrue(it.hasNext()); assertEquals(3,(int)it.next()); assertFalse(it.hasNext()); } /** * Test method for {@link com.coding.basic2.LinkedList#reverse()}. */ @Test public void testReverse() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.add(3); assertEquals(3, ll1.size()); ll1.reverse(); assertEquals(3, ll1.size()); assertEquals(3,ll1.get(0)); assertEquals(2,ll1.get(1)); assertEquals(1,ll1.get(2)); } /** * Test method for {@link com.coding.basic2.LinkedList#removeFirstHalf()}. */ @Test public void testRemoveFirstHalf() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.add(3); assertEquals(3, ll1.size()); ll1.removeFirstHalf(); assertEquals(2, ll1.size()); assertEquals(2,ll1.get(0)); assertEquals(3,ll1.get(1)); } /** * Test method for {@link com.coding.basic2.LinkedList#remove(int, int)}. */ @Test public void testRemoveIntInt() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.add(3); assertEquals(3, ll1.size()); ll1.remove(0, 2); assertEquals(1, ll1.size()); assertEquals(3,ll1.get(0)); } /** * Test method for {@link com.coding.basic2.LinkedList#getElements(com.coding.basic2.LinkedList)}. */ @Test public void testGetElements() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.add(3); ll1.add(4); assertEquals(4, ll1.size()); assertEquals(0, ll2.size()); ll2.add(0); ll2.add(2); ll2.add(3); assertEquals(3, ll2.size()); int[] array = new int[]{1,3,4}; assertArrayEquals(array,ll1.getElements(ll2)); } /** * Test method for {@link com.coding.basic2.LinkedList#subtract(com.coding.basic2.LinkedList)}. */ @Test public void testSubtract() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(2); ll1.add(3); ll1.add(4); assertEquals(4, ll1.size()); assertEquals(0, ll2.size()); ll2.add(0); ll2.add(2); ll2.add(3); assertEquals(3, ll2.size()); ll1.subtract(ll2); //assertEquals(2, ll1.size()); System.out.println(ll1); assertEquals(1,ll1.get(0)); assertEquals(4,ll1.get(1)); } /** * Test method for {@link com.coding.basic2.LinkedList#removeDuplicateValues()}. */ @Test public void testRemoveDuplicateValues() { assertEquals(0, ll1.size()); ll1.add(1); ll1.add(1); ll1.add(2); ll1.add(2); ll1.add(2); ll1.add(3); ll1.add(4); ll1.add(4); ll1.add(4); ll1.add(4); assertEquals(10, ll1.size()); ll1.removeDuplicateValues(); assertEquals(4, ll1.size()); assertEquals(1,(int)ll1.get(0)); assertEquals(2,(int)ll1.get(1)); assertEquals(3,(int)ll1.get(2)); assertEquals(4,(int)ll1.get(3)); } /** * Test method for {@link com.coding.basic2.LinkedList#removeRange(int, int)}. */ @Test public void testRemoveRange() { assertEquals(0, ll1.size()); ll1.add(0); ll1.add(1); ll1.add(2); ll1.add(3); ll1.add(4); ll1.add(5); ll1.add(6); ll1.add(7); ll1.add(8); ll1.add(9); assertEquals(10, ll1.size()); ll1.removeRange(1, 8); assertEquals(2, ll1.size()); assertEquals(0,(int)ll1.get(0)); assertEquals(9,(int)ll1.get(1)); } /** * Test method for {@link com.coding.basic2.LinkedList#intersection(com.coding.basic2.LinkedList)}. */ @Test public void testIntersection() { assertEquals(0, ll1.size()); ll1.add(0); ll1.add(1); ll1.add(2); ll1.add(3); ll1.add(4); ll1.add(5); ll1.add(6); ll1.add(7); ll1.add(8); ll1.add(9); assertEquals(10, ll1.size()); assertEquals(0, ll2.size()); ll2.add(-1); ll2.add(1); ll2.add(3); ll2.add(5); ll2.add(10); assertEquals(5, ll2.size()); LinkedList ll3 = ll1.intersection(ll2); assertEquals(3, ll3.size()); assertEquals(1,(int)ll3.get(0)); assertEquals(3,(int)ll3.get(1)); assertEquals(5,(int)ll3.get(2)); } }