Added binary string to decimal converter (#6915)

added binary string to decimal converter
This commit is contained in:
Taranjeet Singh Kalsi
2025-10-27 02:09:39 +05:30
committed by GitHub
parent ae2e40acab
commit 21eff8ad09
2 changed files with 40 additions and 0 deletions

View File

@@ -18,6 +18,12 @@ public class BinaryToDecimalTest {
assertEquals(5, BinaryToDecimal.binaryToDecimal(101));
assertEquals(63, BinaryToDecimal.binaryToDecimal(111111));
assertEquals(512, BinaryToDecimal.binaryToDecimal(1000000000));
assertEquals(0, BinaryToDecimal.binaryStringToDecimal("0"));
assertEquals(1, BinaryToDecimal.binaryStringToDecimal("1"));
assertEquals(5, BinaryToDecimal.binaryStringToDecimal("101"));
assertEquals(63, BinaryToDecimal.binaryStringToDecimal("111111"));
assertEquals(512, BinaryToDecimal.binaryStringToDecimal("1000000000"));
}
@Test
@@ -25,6 +31,9 @@ public class BinaryToDecimalTest {
public void testNegativeBinaryToDecimal() {
assertEquals(-1, BinaryToDecimal.binaryToDecimal(-1));
assertEquals(-42, BinaryToDecimal.binaryToDecimal(-101010));
assertEquals(-1, BinaryToDecimal.binaryStringToDecimal("-1"));
assertEquals(-42, BinaryToDecimal.binaryStringToDecimal("-101010"));
}
@Test
@@ -32,11 +41,16 @@ public class BinaryToDecimalTest {
public void testLargeBinaryToDecimal() {
assertEquals(262144L, BinaryToDecimal.binaryToDecimal(1000000000000000000L));
assertEquals(524287L, BinaryToDecimal.binaryToDecimal(1111111111111111111L));
assertEquals(262144L, BinaryToDecimal.binaryStringToDecimal("1000000000000000000"));
assertEquals(524287L, BinaryToDecimal.binaryStringToDecimal("1111111111111111111"));
}
@ParameterizedTest
@CsvSource({"2", "1234", "11112", "101021"})
void testNotCorrectBinaryInput(long binaryNumber) {
assertThrows(IllegalArgumentException.class, () -> BinaryToDecimal.binaryToDecimal(binaryNumber));
assertThrows(IllegalArgumentException.class, () -> BinaryToDecimal.binaryStringToDecimal(Long.toString(binaryNumber)));
}
}