📄 testintlist.java
字号:
assertTrue(!list.equals(list2)); assertTrue(!list2.equals(list)); } /** * test the get method */ public void testGet() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { list.add(j); } for (int j = 0; j < 1001; j++) { try { assertEquals(j, list.get(j)); if (j == 1000) { fail("should have gotten exception"); } } catch (IndexOutOfBoundsException e) { if (j != 1000) { fail("unexpected IndexOutOfBoundsException"); } } } } /** * test the indexOf method */ public void testIndexOf() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { list.add(j / 2); } for (int j = 0; j < 1000; j++) { if (j < 500) { assertEquals(j * 2, list.indexOf(j)); } else { assertEquals(-1, list.indexOf(j)); } } } /** * test the isEmpty method */ public void testIsEmpty() { IntList list1 = new IntList(); IntList list2 = new IntList(1000); IntList list3 = new IntList(list1); assertTrue(list1.isEmpty()); assertTrue(list2.isEmpty()); assertTrue(list3.isEmpty()); list1.add(1); list2.add(2); list3 = new IntList(list2); assertTrue(!list1.isEmpty()); assertTrue(!list2.isEmpty()); assertTrue(!list3.isEmpty()); list1.clear(); list2.remove(0); list3.removeValue(2); assertTrue(list1.isEmpty()); assertTrue(list2.isEmpty()); assertTrue(list3.isEmpty()); } /** * test the lastIndexOf method */ public void testLastIndexOf() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { list.add(j / 2); } for (int j = 0; j < 1000; j++) { if (j < 500) { assertEquals(1 + j * 2, list.lastIndexOf(j)); } else { assertEquals(-1, list.indexOf(j)); } } } /** * test the remove method */ public void testRemove() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { list.add(j); } for (int j = 0; j < 1000; j++) { assertEquals(j, list.remove(0)); assertEquals(999 - j, list.size()); } for (int j = 0; j < 1000; j++) { list.add(j); } for (int j = 0; j < 1000; j++) { assertEquals(999 - j, list.remove(999 - j)); assertEquals(999 - j, list.size()); } try { list.remove(0); fail("should have caught IndexOutOfBoundsException"); } catch (IndexOutOfBoundsException e) { // as expected } } /** * test the removeValue method */ public void testRemoveValue() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { list.add(j / 2); } for (int j = 0; j < 1000; j++) { if (j < 500) { assertTrue(list.removeValue(j)); assertTrue(list.removeValue(j)); } assertTrue(!list.removeValue(j)); } } /** * test the removeAll method */ public void testRemoveAll() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { list.add(j); } IntList listCopy = new IntList(list); IntList listOdd = new IntList(); IntList listEven = new IntList(); for (int j = 0; j < 1000; j++) { if (j % 2 == 0) { listEven.add(j); } else { listOdd.add(j); } } list.removeAll(listEven); assertEquals(list, listOdd); list.removeAll(listOdd); assertTrue(list.isEmpty()); listCopy.removeAll(listOdd); assertEquals(listCopy, listEven); listCopy.removeAll(listEven); assertTrue(listCopy.isEmpty()); } /** * test the retainAll method */ public void testRetainAll() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { list.add(j); } IntList listCopy = new IntList(list); IntList listOdd = new IntList(); IntList listEven = new IntList(); for (int j = 0; j < 1000; j++) { if (j % 2 == 0) { listEven.add(j); } else { listOdd.add(j); } } list.retainAll(listOdd); assertEquals(list, listOdd); list.retainAll(listEven); assertTrue(list.isEmpty()); listCopy.retainAll(listEven); assertEquals(listCopy, listEven); listCopy.retainAll(listOdd); assertTrue(listCopy.isEmpty()); } /** * test the set method */ public void testSet() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { list.add(j); } for (int j = 0; j < 1001; j++) { try { list.set(j, j + 1); if (j == 1000) { fail("Should have gotten exception"); } assertEquals(j + 1, list.get(j)); } catch (IndexOutOfBoundsException e) { if (j != 1000) { fail("premature exception"); } } } } /** * test the size method */ public void testSize() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { assertEquals(j, list.size()); list.add(j); assertEquals(j + 1, list.size()); } for (int j = 0; j < 1000; j++) { assertEquals(1000 - j, list.size()); list.removeValue(j); assertEquals(999 - j, list.size()); } } /** * test the toArray method */ public void testToArray() { IntList list = new IntList(); for (int j = 0; j < 1000; j++) { list.add(j); } int[] a1 = list.toArray(); assertEquals(a1.length, list.size()); for (int j = 0; j < 1000; j++) { assertEquals(a1[ j ], list.get(j)); } int[] a2 = new int[ list.size() ]; int[] a3 = list.toArray(a2); assertSame(a2, a3); for (int j = 0; j < 1000; j++) { assertEquals(a2[ j ], list.get(j)); } int[] aShort = new int[ list.size() - 1 ]; int[] aLong = new int[ list.size() + 1 ]; int[] a4 = list.toArray(aShort); int[] a5 = list.toArray(aLong); assertTrue(a4 != aShort); assertTrue(a5 != aLong); assertEquals(a4.length, list.size()); for (int j = 0; j < 1000; j++) { assertEquals(a3[ j ], list.get(j)); } assertEquals(a5.length, list.size()); for (int j = 0; j < 1000; j++) { assertEquals(a5[ j ], list.get(j)); } } /** * main method to run the unit tests * * @param unused_args */ public static void main(String [] unused_args) { System.out.println("Testing util.IntList functionality"); junit.textui.TestRunner.run(TestIntList.class); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -