package assignment0226; import org.junit.Test; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; public class ArrayUtilTest { @Test public void testReverseArray() { int[] array = new int[] {}; ArrayUtil.reverseArray(array); assertArrayEquals(new int[] {}, array); array = new int[] { 1 }; ArrayUtil.reverseArray(array); assertArrayEquals(new int[] { 1 }, array); array = new int[] { 1, 2, 3 }; ArrayUtil.reverseArray(array); assertArrayEquals(new int[] { 3, 2, 1 }, array); } @Test public void testRemoveZero() { int[] array = new int[] {}; assertArrayEquals(new int[] {}, ArrayUtil.removeZero(array)); array = new int[] { 0 }; assertArrayEquals(new int[] {}, ArrayUtil.removeZero(array)); array = new int[] { 1 }; assertArrayEquals(new int[] { 1 }, ArrayUtil.removeZero(array)); array = new int[] { 1, 2, 0, 0, 3 }; assertArrayEquals(new int[] { 1, 2, 3 }, ArrayUtil.removeZero(array)); array = new int[] { 1, 2, 3 }; assertArrayEquals(new int[] { 1, 2, 3 }, ArrayUtil.removeZero(array)); } @Test public void testMerge() { int[] array1 = { 3, 5, 7, 8 }; int[] array2 = { 4, 5, 6, 7 }; assertArrayEquals(new int[] { 3, 4, 5, 6, 7, 8 }, ArrayUtil.merge(array1, array2)); } @Test public void testGrow() { int[] array = { 3, 5, 7 }; assertArrayEquals(new int[] { 3, 5, 7, 0, 0 }, ArrayUtil.grow(array, 5)); assertArrayEquals(new int[] { 3, 5, 7 }, ArrayUtil.grow(array, 3)); } @Test public void testFibonacci() { assertArrayEquals(new int[] {}, ArrayUtil.fibonacci(1)); assertArrayEquals(new int[] { 1, 1 }, ArrayUtil.fibonacci(2)); assertArrayEquals(new int[] { 1, 1, 2, 3, 5, 8, 13 }, ArrayUtil.fibonacci(15)); } @Test public void testGetPrimes() { assertArrayEquals(new int[] {}, ArrayUtil.getPrimes(1)); assertArrayEquals(new int[] {}, ArrayUtil.getPrimes(2)); assertArrayEquals(new int[] { 2 }, ArrayUtil.getPrimes(3)); assertArrayEquals(new int[] { 2, 3, 5, 7, 11, 13, 17, 19 }, ArrayUtil.getPrimes(20)); } @Test public void testGetPerfectNumbers() { assertArrayEquals(new int[] { 6 }, ArrayUtil.getPerfectNumbers(10)); assertArrayEquals(new int[] { 6, 28 }, ArrayUtil.getPerfectNumbers(100)); assertArrayEquals(new int[] { 6, 28, 496 }, ArrayUtil.getPerfectNumbers(1000)); assertArrayEquals(new int[] { 6, 28, 496, 8128 }, ArrayUtil.getPerfectNumbers(10000)); } @Test public void testJoin() { assertEquals("3-4-5", ArrayUtil.join(new int[] { 3, 4, 5 }, "-")); assertEquals("345", ArrayUtil.join(new int[] { 3, 4, 5 }, "")); assertEquals("3", ArrayUtil.join(new int[] { 3 }, "")); assertEquals("3--4--5", ArrayUtil.join(new int[] { 3, 4, 5 }, "--")); } }