import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.assertEquals;
public class MultipleArbitraryPrecisionIntegersTest {
List<Integer> expected;
List<Integer> a;
List<Integer> b;
@Test
public void multiply1() {
expected = Arrays.asList(0);
a = Arrays.asList(0);
b = Arrays.asList(1, 1, 1);
test(expected, a, b);
}
@Test
public void multiply2() {
expected = Arrays.asList(1, 4, 4);
a = Arrays.asList(1, 2);
b = Arrays.asList(1, 2);
test(expected, a, b);
}
@Test
public void multiply3() {
expected = Arrays.asList(-1, 4, 7, 5 ,7, 3, 9, 5, 2, 5, 8, 9, 6, 7, 6, 4, 1, 2, 9, 2, 7);
a = Arrays.asList(1, 9, 3, 7, 0, 7, 7, 2, 1);
b = Arrays.asList(-7, 6, 1, 8, 3, 8, 2, 5, 7, 2, 8, 7);
test(expected, a, b);
}
private void test(List<Integer> expected, List<Integer> a, List<Integer> b) {
assertEquals(expected, MultipleArbitraryPrecisionIntegers.multiply(a,b));
}
}