package util; import java.util.Random; import collection.List; import collection.concrete.ArrayList; import collection.concrete.LinkedList; import collection.concrete.Queue; import junit.framework.TestCase; public class TestUtil<E> extends TestCase { private static Random random = new Random(); private static final int RANDOM_BOUND = 2 << 15; private static final int RANDOM_SIZE = 500; public static int[] getRandomIntArray(int number) { int[] arr = new int[number]; for (int i = 0; i < arr.length; i++) { arr[i] = getRandomNumber() + 1; } return arr; } public static int getRandomNumber() { return random.nextInt(RANDOM_SIZE); } public static int getRandomNumber(int bound) { return random.nextInt(bound); } public static void addIntWithNatureOrder(List<Integer> myList, int numbers) { for (int acutal = 0; acutal < numbers; acutal++) { myList.add(acutal); } } public static int[] addRandomInt(List<Integer> myList, int numbers) { int actual = 0; int[] result = new int[numbers]; for (int i = 0; i < numbers; i++) { actual = random.nextInt(RANDOM_BOUND); result[i] = actual; myList.add(actual); } return result; } public static void addString(List<String> myList, int num) { String actual; for (int index = 0; index < num; index++) { actual = index + ""; myList.add(actual); } } public static <E> void testRemoveAndGetFromTail(ArrayList<E> myList) { E get; E remove; for (int i = myList.size() - 1; i >= 0; i--) { get = myList.get(i); remove = myList.remove(i); assertEquals(get, remove); } } public static <E> void testRemoveAndGetFromTail(LinkedList<E> myList) { E get; E remove; for (int i = myList.size() - 1; i >= 0; i--) { get = myList.get(i); remove = myList.remove(i); assertEquals(get, remove); } } public static void enQueueIntWithNatureOrder(Queue<Integer> myQueue, int numbers) { for (int acutal = 0; acutal < numbers; acutal++) { myQueue.enQueue(acutal); } } }