mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-12-19 07:00:35 +08:00
testing: improve test coverage ParityCheckTest (#6389)
testing: improve test coverage ParityCheckTest Co-authored-by: Deniz Altunkapan <93663085+DenizAltunkapan@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
7f6e677b07
commit
2f2a32b8c2
@@ -6,10 +6,30 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class ParityCheckTest {
|
||||
@Test
|
||||
public void testIsEvenParity() {
|
||||
assertTrue(ParityCheck.checkParity(0)); // 0 -> 0 ones
|
||||
assertTrue(ParityCheck.checkParity(3)); // 11 -> 2 ones
|
||||
assertTrue(ParityCheck.checkParity(5)); // 101 -> 2 ones
|
||||
assertTrue(ParityCheck.checkParity(10)); // 1010 -> 2 ones
|
||||
assertTrue(ParityCheck.checkParity(15)); // 1111 -> 4 ones
|
||||
assertTrue(ParityCheck.checkParity(1023)); // 10 ones
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsOddParity() {
|
||||
assertTrue(ParityCheck.checkParity(5)); // 101 has 2 ones (even parity)
|
||||
assertFalse(ParityCheck.checkParity(7)); // 111 has 3 ones (odd parity)
|
||||
assertFalse(ParityCheck.checkParity(8)); // 1000 has 1 one (odd parity)
|
||||
assertFalse(ParityCheck.checkParity(1)); // 1 -> 1 one
|
||||
assertFalse(ParityCheck.checkParity(2)); // 10 -> 1 one
|
||||
assertFalse(ParityCheck.checkParity(7)); // 111 -> 3 ones
|
||||
assertFalse(ParityCheck.checkParity(8)); // 1000 -> 1 one
|
||||
assertFalse(ParityCheck.checkParity(11)); // 1011 -> 3 ones
|
||||
assertFalse(ParityCheck.checkParity(31)); // 11111 -> 5 ones
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLargeNumbers() {
|
||||
assertTrue(ParityCheck.checkParity(0b10101010)); // 4 ones
|
||||
assertFalse(ParityCheck.checkParity(0b100000000)); // 1 one
|
||||
assertTrue(ParityCheck.checkParity(0xAAAAAAAA)); // Alternating bits, 16 ones
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user