import org.junit.Test;
import org.junit.Ignore;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import java.util.Arrays;
import java.util.Collection;
import static org.junit.Assert.assertEquals;
@RunWith(Parameterized.class)
public class BinaryTest {
private String binaryNumberAsString;
private int decimalNumber;
@Parameters(name = "{index}: expected {1} when converting \"{0}\" from binary to decimal.")
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][]{
{"1", 1},
{"10", 2},
{"11", 3},
{"100", 4},
{"1001", 9},
{"11010", 26},
{"10001101000", 1128},
{"2", 0},
{"5", 0},
{"9", 0},
{"134678", 0},
{"abc10z", 0},
{"011", 3}
});
}
public BinaryTest(String binaryNumberAsString, int decimalNumber) {
this.binaryNumberAsString = binaryNumberAsString;
this.decimalNumber = decimalNumber;
}
@Test
public void test() {
Binary binary = new Binary(binaryNumberAsString);
assertEquals(decimalNumber, binary.getDecimal());
}
}