Beispiel #1
0
    def test_strhash(self):
        s = "".join(random.choice(string.printable) for _ in range(1024))
        us = "文字テキスト텍스트كتابة"
        a = ctools.strhash(s)
        for i in range(1024):
            self.assertEqual(ctools.strhash(s), a)

        for meth in ("fnv1a", "fnv1", "djb2", "murmur"):
            a = ctools.strhash(s, meth)
            b = ctools.strhash(us, meth)
            self.assertEqual(a, ctools.strhash(s, meth))
            self.assertEqual(b, ctools.strhash(us, meth))

        self.assertEqual(ctools.strhash(s), ctools.strhash(s, "fnv1a"))
        self.assertEqual(ctools.strhash(us), ctools.strhash(us, "fnv1a"))

        self.assertNotEqual(ctools.strhash(s), ctools.strhash(s, "fnv1"))
        self.assertNotEqual(ctools.strhash(s), ctools.strhash(s, "fnv1"))

        with self.assertRaises(TypeError):
            ctools.strhash(s, method="fnv1a")
def benchmark_strhash_default_method(string):
    ctools.strhash(string)
def benchmark_strhash_djb2(string):
    ctools.strhash(string, "djb2")
def benchmark_strhash_murmur(string):
    ctools.strhash(string, "murmur")
def benchmark_strhash_fnv1(string):
    ctools.strhash(string, "fnv1")