def test_padding_up_to_length_fits_in_same_block() -> None: actual = Sha1() expected = sha1_oracle() chunk = b"x" * (expected.block_size - 9) actual.update(chunk) expected.update(chunk) assert actual.digest().hex() == expected.digest().hex()
def test_prop_comparing_to_python_version(chunks: list[bytes]) -> None: actual = Sha1() expected = sha1_oracle() for chunk in chunks: actual.update(chunk) expected.update(chunk) assert actual.digest().hex() == expected.digest().hex()
def test_short() -> None: chunk = b"abc" actual = Sha1() expected = sha1_oracle() actual.update(chunk) expected.update(chunk) assert actual.digest().hex() == expected.digest().hex()
def test_empty() -> None: assert Sha1().digest().hex() == sha1_oracle().digest().hex()