1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import org.junit.Test;
import static org.junit.Assert.assertArrayEquals;
public class DigitizeTests {
@Test
public void basicTests() {
String msg = "Should work with some preset numbers";
assertArrayEquals(msg, new int[] {1,3,2,5,3}, ConvertAndReverse.digitize(35231));
assertArrayEquals(msg, new int[] {7,5,3,2,8,5,3,2}, ConvertAndReverse.digitize(23582357));
assertArrayEquals(msg, new int[] {8,3,7,4,6,7,4,8,9}, ConvertAndReverse.digitize(984764738));
assertArrayEquals(msg, new int[] {0,2,9,3,9,8,2,6,7,5,4}, ConvertAndReverse.digitize(45762893920L));
assertArrayEquals(msg, new int[] {4,9,3,8,3,8,2,0,7,8,4,5}, ConvertAndReverse.digitize(548702838394L));
}
@Test
public void randomTests() {
int i, x;
long y;
System.out.println("Testing 37 random numbers...");
for (i = x = 1; i <= 37; x = ++i) {
y = (long) (10 + Math.ceil((9 * Math.pow(1.7, x) - 10) * Math.random()));
assertArrayEquals("Should work with " + y, digitizeAns(y), ConvertAndReverse.digitize(y));
}
}
private int[] digitizeAns(long n) {
String numStr = Long.toString(n);
int[] numArr = new int[numStr.length()];
for (int i = numStr.length()-1; i >= 0; i--) {
numArr[numStr.length() - 1 - i] = Integer.parseInt(numStr.substring(i, i+1));
}
return numArr;
}
}
|