package cn.net.pikachu.basic; import org.junit.Assert; import org.junit.Before; import org.junit.Test; /** * Created by pikachu on 17-2-20. */ public class ArrayListTest { ArrayList list; @Before public void before(){ list=new ArrayList(); } @Test public void testAdd(){ list.add(1); Assert.assertEquals("[1]",list.toString()); Assert.assertEquals(1,list.size()); list.add(0,0); Assert.assertEquals("[0,1]",list.toString()); Assert.assertEquals(2,list.size()); list.add(1,2); Assert.assertEquals("[0,2,1]",list.toString()); Assert.assertEquals(3,list.size()); } @Test(expected = IndexOutOfBoundsException.class) public void testRemove(){ list.add(1); list.remove(0); Assert.assertEquals("[]",list.toString()); Assert.assertEquals(0,list.size()); list.add(2); list.add(3); list.add(4); Object o =list.remove(1); Assert.assertEquals(3,o); Assert.assertEquals("[2,4]",list.toString()); Assert.assertEquals(2,list.size()); list.remove(4); } @Test(expected = IndexOutOfBoundsException.class) public void testGet(){ list.add(1); list.add(2); list.add(3); list.add(4); Assert.assertEquals(1,list.get(0)); Assert.assertEquals(4,list.get(3)); Assert.assertEquals(4,list.size()); list.get(4); } @Test public void testSize(){ Assert.assertEquals(0,list.size()); list.add(1); list.add(2); list.add(3); list.add(4); Assert.assertEquals(4,list.size()); } @Test public void testIterator(){ list.add(1); list.add(2); list.add(3); list.add(4); Iterator iterator = list.iterator(); StringBuilder builder = new StringBuilder(); builder.append("["); while (iterator.hasNext()){ builder.append(iterator.next()).append(","); } builder.deleteCharAt(builder.length()-1); builder.append("]"); Assert.assertEquals(builder.toString(),list.toString()); } /* // 抛出异常的测试 @Test(expected = IndexOutOfBoundsException.class) public void testRemoveWithException(){ list.remove(2); } // 超时测试 @Test(timeout = 2000) public void test(){ while (true); } */ }