package array;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class ArrayUtilTest {
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testReverseArray() {
int[] a = { 7, 9, 30, 3, 4 };
int[] expecteds = { 4, 3, 30, 9, 7 };
ArrayUtil util = new ArrayUtil();
util.reverseArray(a);
assertArrayEquals(expecteds, a);
}
@Test
public void testRemoveZero() {
int[] oldArr = { 1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5 };
int[] expecteds = { 1, 3, 4, 5, 6, 6, 5, 4, 7, 6, 7, 5 };
ArrayUtil util = new ArrayUtil();
int[] removeZero = util.removeZero(oldArr);
assertArrayEquals(expecteds, removeZero);
}
@Test
public void testMerge() {
int[] a1 = { 3, 5, 7, 8 };
int[] a2 = { 4, 5, 6, 7 };
ArrayUtil util = new ArrayUtil();
int[] merge = util.merge(a1, a2);
int[] expecteds = { 3, 4, 5, 6, 7, 8 };
assertArrayEquals(expecteds, merge);
}
@Test
public void testGrow() {
int[] oldArray = { 2, 3, 6 };
int size = 3;
int[] expecteds = { 2, 3, 6, 0, 0, 0 };
ArrayUtil util = new ArrayUtil();
int[] grow = util.grow(oldArray, size);
assertArrayEquals(expecteds, grow);
}
@Test
public void testFibonacci() {
int max1 = 15;
int[] expecteds1 = { 1, 1, 2, 3, 5, 8, 13 };
ArrayUtil util = new ArrayUtil();
int[] fibonacci1 = util.fibonacci(max1);
assertArrayEquals(expecteds1, fibonacci1);
int max2 = 1;
int[] expecteds2 = {};
int[] fibonacci2 = util.fibonacci(max2);
assertArrayEquals(expecteds2, fibonacci2);
}
@Test
public void testGetPrimes() {
int max1 = 23;
int[] expecteds1 = { 2, 3, 5, 7, 11, 13, 17, 19 };
ArrayUtil util = new ArrayUtil();
int[] primes1 = util.getPrimes(max1);
assertArrayEquals(expecteds1, primes1);
int max2 = 2;
int[] expecteds2 = {};
int[] primes2 = util.getPrimes(max2);
assertArrayEquals(expecteds2, primes2);
}
@Test
public void testGetPerfectNumbers() {
int max1 = 2;
int[] expecteds1 = {};
ArrayUtil util = new ArrayUtil();
int[] perfectNumbers1 = util.getPerfectNumbers(max1);
assertArrayEquals(expecteds1, perfectNumbers1);
// 6=1+2+3
int max2 = 7;
int[] expecteds2 = { 6 };
int[] perfectNumbers2 = util.getPerfectNumbers(max2);
assertArrayEquals(expecteds2, perfectNumbers2);
// 28=1+2+4+7+14
int max3 = 30;
int[] expecteds3 = { 6, 28 };
int[] perfectNumbers3 = util.getPerfectNumbers(max3);
assertArrayEquals(expecteds3, perfectNumbers3);
}
@Test
public void testJoin() {
int[] array = { 3, 8, 9 };
String seperator = "-";
String expecteds = "3-8-9";
ArrayUtil util = new ArrayUtil();
String join = util.join(array, seperator);
assertEquals(expecteds, join);
}
}