/** Moo */
 @Test
 public void trimToSize() {
   words.trimToSize();
   assertEquals(0, words.size());
   words.add("1");
   words.trimToSize();
   assertEquals(1, words.size());
 }
 /** Moo */
 @Test
 public void testRemove() {
   words.add("5");
   words.add("6");
   words.add("7");
   assertEquals("5", words.remove(0));
   assertEquals(2, words.size());
   assertEquals("7", words.remove(1));
   assertEquals(1, words.size());
 }
  /** Moo */
  @Test
  public void testAdd() {
    assertTrue(words.add("hello"));
    assertEquals(1, words.size());
    assertTrue(words.add("world"));
    assertEquals(2, words.size());
    assertTrue(words.add("blue"));
    assertEquals(3, words.size());

    assertSame("hello", words.get(0));
    assertSame("world", words.get(1));
    assertSame("blue", words.get(2));
  }
 /** Moo */
 @Test(expected = IndexOutOfBoundsException.class)
 public void testSetIndexOutOfBoundsException2() {
   assertEquals(0, words.size());
   words.add("6");
   words.add("7");
   words.set(2, "5");
 }
 /** Moo */
 @Test(expected = IndexOutOfBoundsException.class)
 public void testGetFail3() {
   assertEquals(0, words.size());
   words.add("0");
   words.add("0");
   words.add("0");
   words.get(3);
 }
 /** Moo */
 @Test
 public void testLargeAdd() {
   for (int i = 0; i < 10000; i++) {
     words.add("" + i);
   }
   assertEquals(10000, words.size());
   assertEquals("0", words.get(0));
   assertEquals("9999", words.get(9999));
 }
 /** Moo */
 @Test
 public void testRemoveObject() {
   words.add("5");
   words.add("6");
   words.add("7");
   assertTrue(words.remove("6"));
   assertFalse(words.remove("8"));
   assertEquals(2, words.size());
 }
  /** Moo */
  @Test
  public void testSet() {

    words.add("6");
    words.add("7");
    assertEquals("6", words.set(0, "3"));
    assertEquals("3", words.get(0));
    assertEquals("7", words.get(1));
    assertEquals(2, words.size());
  }
 /** Moo */
 @Test
 public void testAddLoc() {
   words.add(0, "5");
   System.out.println(words.toString());
   words.add(0, "3");
   System.out.println(words.toString());
   words.add(1, "4");
   System.out.println(words.toString());
   assertSame("3", words.get(0));
   assertSame("4", words.get(1));
   assertSame("5", words.get(2));
   assertEquals(3, words.size());
 }
 /** Moo */
 @Test(expected = IndexOutOfBoundsException.class)
 public void testAddIndexOutOfBoundsException3() {
   System.out.println(words.size());
   assertEquals(0, words.size());
   words.add(2, "5");
 }
 /** Moo */
 @Test(expected = IndexOutOfBoundsException.class)
 public void testAddIndexOutOfBoundsException2() {
   assertEquals(0, words.size());
   words.add(-1, "5");
 }
 /** Moo */
 @Test(expected = IllegalArgumentException.class)
 public void testConstructor2() {
   words = new MyArrayList(-1);
   assertEquals(0, words.size());
 }
 /** Moo */
 @Test
 public void testConstructor() {
   words = new MyArrayList();
   assertEquals(0, words.size());
 }
 /** Moo */
 @Test(expected = IndexOutOfBoundsException.class)
 public void testRemoveIndexOutOfBoundsException2() {
   assertEquals(0, words.size());
   words.add("0");
   words.remove(1);
 }
 /** Moo */
 @Test
 public void testClear() {
   words.add("5");
   words.clear();
   assertEquals(0, words.size());
 }