Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
testing: improve test coverage ParityCheckTest
  • Loading branch information
alxkm committed Jul 14, 2025
commit 09bb4130bfa9be803049b5b4b731e4fbd57f8831
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,30 @@
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
}
}
Loading