package org.wsc.coding.basic.array;
import static org.junit.Assert.*;
import org.junit.Test;
public class ArrayUtilTest {
@Test
public void testReverseArray() {
int[] nums = new int[]{7, 9 , 30, 3, 5};
ArrayUtil.reverseArray(nums);
assertArrayEquals(nums, new int[]{5, 3 ,30, 9, 7});
}
/**
* 删除0
*/
@Test
public void testRemoveZero() {
int[] nums = new int[]{0,7, 9 , 0,0,30,0, 3, 5,0};
nums = ArrayUtil.removeZero(nums);
assertArrayEquals(nums, new int[]{7, 9 ,30, 3, 5});
}
/**
* 删除0
*/
@Test
public void testRemoveZero2() {
int[] nums = new int[]{0,7, 9 , 0,0,30,0, 3, 5,0};
nums = ArrayUtil.removeZero2(nums);
assertArrayEquals(nums, new int[]{7, 9 ,30, 3, 5});
}
/**
* 拼接
*/
@Test
public void testJoin() {
int[] nums = new int[]{0,7, 9 , 0,0,30,0, 3, 5,0};
String str = ArrayUtil.join(nums,"-");
assertEquals(str, "0-7-9-0-0-30-0-3-5-0");
}
/**
* 扩容
*/
@Test
public void testGrow() {
int[] nums = new int[]{0,7, 9 , 0,0,30,0, 3, 5};
nums = ArrayUtil.grow(nums,3);
assertTrue(nums.length==12);
}
/**
* 合并
*/
@Test
public void testMerge() {
int[] nums = new int[]{3, 5, 7,8};
int[] nums2 = new int[]{4, 5, 6,7,8};
nums = ArrayUtil.merge(nums,nums2);
assertTrue(nums.length==6);
assertArrayEquals(nums, new int[]{3, 4 ,5, 6, 7,8});
}
/**
*斐波那契数列
*/
@Test
public void testFibonacci() {
int[] nums = ArrayUtil.fibonacci(15);
assertTrue(nums.length==7);
assertArrayEquals(nums, new int[]{1,1,2,3,5,8,13});
}
/**
* 素数
*/
@Test
public void testGetPrimes() {
int[] nums = ArrayUtil.getPrimes(23);
assertTrue(nums.length==8);
assertArrayEquals(nums, new int[]{2,3,5,7,11,13,17,19});
}
/**
* 完数
*/
@Test
public void testGetPerfectNumbers() {
int[] nums = ArrayUtil.getPerfectNumbers(10000);
assertTrue(nums.length==4);
assertArrayEquals(nums, new int[]{6,28,496,8128});
}
}