Ejemplo n.º 1
0
 def test_even(self) -> None:
     """Missing parity digit (even)."""
     assert parity.missing("01?00") == "1"
     assert parity.missing("01?100") == "0"
     assert parity.missing("010100?") == "0"
Ejemplo n.º 2
0
 def test_odd(self) -> None:
     """Missing parity digit (odd)."""
     assert parity.missing("01101?", False) == "0"
     assert parity.missing("01?010", False) == "1"
     assert parity.missing("010010?011", False) == "1"
Ejemplo n.º 3
0
# Calculate odd parity check digit
test(parity.calculate("0110", False), "1")
test(parity.calculate("0", False), "1")
test(parity.calculate("01101", False), "0")

# Validate even parity check digit
test(parity.validate("01100"))
test(parity.validate("01101"), False)

# Validate odd parity check digit
test(parity.validate("01101", False))
test(parity.validate("01100", False), False)

# Missing parity digit (even)
test(parity.missing("01?00"), "1")
test(parity.missing("01?100"), "0")
test(parity.missing("010100?"), "0")

# Missing parity digit (odd)
test(parity.missing("01101?", False), "0")
test(parity.missing("01?010", False), "1")
test(parity.missing("010010?011", False), "1")

# ISBN-10 Check digit
test(isbn.calculate10("006196436"), "0")
test(isbn.calculate10("190592105"), "5")
test(isbn.calculate10("043942089"), "X")

# Validate ISBN-10
test(isbn.validate10("0205080057"))