mirror of
https://github.com/bellingcat/auto-archiver-api.git
synced 2026-06-11 13:08:34 +03:00
adds missing tests
This commit is contained in:
31
app/tests/shared/utils/test_misc.py
Normal file
31
app/tests/shared/utils/test_misc.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from app.shared.utils.misc import fnv1a_hash_mod
|
||||
|
||||
|
||||
def test_fnv1a_hash_mod():
|
||||
# Test basic string hashing
|
||||
assert fnv1a_hash_mod("test", 10) == fnv1a_hash_mod("test", 10)
|
||||
assert 0 <= fnv1a_hash_mod("test", 10) < 10
|
||||
|
||||
# Test different strings give different hashes
|
||||
assert fnv1a_hash_mod("test1", 100) != fnv1a_hash_mod("test2", 100)
|
||||
|
||||
# Test different modulos
|
||||
hash1 = fnv1a_hash_mod("test", 5)
|
||||
hash2 = fnv1a_hash_mod("test", 10)
|
||||
assert 0 <= hash1 < 5
|
||||
assert 0 <= hash2 < 10
|
||||
|
||||
# Test empty string
|
||||
assert isinstance(fnv1a_hash_mod("", 10), int)
|
||||
assert 0 <= fnv1a_hash_mod("", 10) < 10
|
||||
|
||||
# Test long string
|
||||
long_str = "a" * 1000
|
||||
assert 0 <= fnv1a_hash_mod(long_str, 20) < 20
|
||||
|
||||
# Test unicode string
|
||||
assert isinstance(fnv1a_hash_mod("测试", 10), int)
|
||||
assert 0 <= fnv1a_hash_mod("测试", 10) < 10
|
||||
|
||||
# Test modulo = 1 edge case
|
||||
assert fnv1a_hash_mod("test", 1) == 0
|
||||
Reference in New Issue
Block a user