package com.coding.weak1; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; /** * Created by Administrator on 2017/3/11 0011. */ public class LinkedListTest { @Rule public ExpectedException thrown = ExpectedException.none(); @Test public void testAdd() throws Exception { LinkedList linkedList = new LinkedList(); linkedList.add("ssss"); linkedList.add("ssss1"); linkedList.add("ssss2"); linkedList.add("ssss3"); linkedList.add("ssss4"); linkedList.add("ssss5"); Assert.assertEquals(linkedList.size(), 6); Assert.assertEquals(linkedList.get(0), "ssss"); Assert.assertEquals(linkedList.get(1), "ssss1"); Assert.assertEquals(linkedList.get(3), "ssss3"); Assert.assertEquals(linkedList.get(5), "ssss5"); } @Test public void testAdd1() throws Exception { LinkedList linkedList = new LinkedList(); linkedList.add("ssss"); linkedList.add("ssss1"); linkedList.add("ssss2"); linkedList.add(1, "ssss3"); Assert.assertEquals(linkedList.get(0), "ssss"); Assert.assertEquals(linkedList.get(1), "ssss3"); Assert.assertEquals(linkedList.get(2), "ssss1"); Assert.assertEquals(linkedList.get(3), "ssss2"); } @Test public void testGet() throws Exception { LinkedList linkedList = new LinkedList(); linkedList.addFirst("ssss"); linkedList.addFirst("ssss1"); linkedList.addFirst("ssss2"); linkedList.addFirst("ssss3"); linkedList.addFirst("ssss4"); linkedList.addFirst("ssss5"); Assert.assertEquals(linkedList.size(), 6); Assert.assertEquals(linkedList.get(0), "ssss5"); Assert.assertEquals(linkedList.get(1), "ssss4"); Assert.assertEquals(linkedList.get(3), "ssss2"); Assert.assertEquals(linkedList.get(5), "ssss"); // thrown.expect(IndexOutOfBoundsException.class); // linkedList.get(-1); thrown.expect(IndexOutOfBoundsException.class); linkedList.get(6); } @Test public void testRemove() throws Exception { LinkedList linkedList = new LinkedList(); linkedList.add("ssss"); linkedList.add("ssss1"); linkedList.add("ssss2"); linkedList.add("ssss3"); linkedList.add("ssss4"); linkedList.add("ssss5"); String ret = (String)linkedList.remove(3); Assert.assertEquals(ret, "ssss3"); Assert.assertEquals(linkedList.size(), 5); Assert.assertEquals(linkedList.get(3),"ssss4"); Assert.assertEquals(linkedList.get(2),"ssss2"); // Assert.assertEquals(linkedList.size(), 5); linkedList.remove(4); Assert.assertEquals(linkedList.get(3), "ssss4"); } @Test public void testSize() throws Exception { LinkedList linkedList = new LinkedList(); Assert.assertEquals(linkedList.size(), 0); } @Test public void testAddFirst() throws Exception { LinkedList linkedList = new LinkedList(); linkedList.addFirst("ssss"); linkedList.addFirst("ssss1"); linkedList.addFirst("ssss2"); linkedList.addFirst("ssss3"); linkedList.addFirst("ssss4"); linkedList.addFirst("ssss5"); Assert.assertEquals(linkedList.size(), 6); } @Test public void testAddLast() throws Exception { LinkedList linkedList = new LinkedList(); linkedList.addLast("ssss"); linkedList.addLast("ssss1"); linkedList.addLast("ssss1"); linkedList.addLast("ssss1"); linkedList.addLast("ssss1"); linkedList.addLast("ssss1"); Assert.assertEquals(linkedList.size(), 6); } @Test public void testRemoveFirst() throws Exception { LinkedList linkedList = new LinkedList(); linkedList.add("ssss"); linkedList.add("ssss1"); Assert.assertEquals(linkedList.size(), 2); linkedList.removeFirst(); Assert.assertEquals(linkedList.size(), 1); Assert.assertEquals(linkedList.get(0), "ssss1"); linkedList.removeFirst(); Assert.assertEquals(linkedList.size(), 0); thrown.expect(IndexOutOfBoundsException.class); Assert.assertEquals(linkedList.get(0), "ssss1"); } @Test public void testRemoveLast() throws Exception { LinkedList linkedList = new LinkedList(); linkedList.add("ssss"); linkedList.add("ssss1"); linkedList.add("ssss2"); Assert.assertEquals(linkedList.size(), 3); Assert.assertEquals(linkedList.get(2), "ssss2"); linkedList.removeLast(); Assert.assertEquals(linkedList.size(), 2); thrown.expect(IndexOutOfBoundsException.class); Assert.assertEquals(linkedList.get(2), "ssss2"); } @Test public void testIterator() throws Exception { List list = new LinkedList(); list.add("ssss"); list.add("ssss1"); list.add("ssss2"); Iterator iterator = list.iterator(); Assert.assertEquals(iterator.next(), "ssss"); Assert.assertEquals(iterator.next(), "ssss1"); Assert.assertEquals(iterator.next(), "ssss2"); thrown.expect(IndexOutOfBoundsException.class); Assert.assertEquals(iterator.next(), "ssss2"); } }