def test_ordered_closest(): keys = ['alfa', 'bravo', 'charlie', 'delta', 'echo', 'foxtrot', 'golf', 'hotel', 'india', 'juliet', 'kilo', 'lima', 'mike', 'november'] # Make into bytes for Python 3 keys = [b(k) for k in keys] values = [str(len(k)).encode("ascii") for k in keys] with TempStorage("orderedclosest") as st: hw = OrderedHashWriter(st.create_file("test.hsh")) hw.add_all(zip(keys, values)) hw.close() hr = OrderedHashReader.open(st, "test.hsh") ck = hr.closest_key assert ck(b('')) == b('alfa') assert ck(b(' ')) == b('alfa') assert ck(b('alfa')) == b('alfa') assert ck(b('bravot')) == b('charlie') assert ck(b('charlie')) == b('charlie') assert ck(b('kiloton')) == b('lima') assert ck(b('oskar')) is None assert list(hr.keys()) == keys assert list(hr.values()) == values assert list(hr.keys_from(b('f'))) == keys[5:] hr.close()
def test_ordered_closest(): keys = ['alfa', 'bravo', 'charlie', 'delta', 'echo', 'foxtrot', 'golf', 'hotel', 'india', 'juliet', 'kilo', 'lima', 'mike', 'november'] values = [''] * len(keys) with TempStorage("orderedclosest") as st: hwf = st.create_file("test.hsh") hw = OrderedHashWriter(hwf) hw.add_all(zip(keys, values)) hw.close() hrf = st.open_file("test.hsh") hr = OrderedHashReader(hrf) ck = hr.closest_key assert_equal(ck(''), b('alfa')) assert_equal(ck(' '), b('alfa')) assert_equal(ck('alfa'), b('alfa')) assert_equal(ck('bravot'), b('charlie')) assert_equal(ck('charlie'), b('charlie')) assert_equal(ck('kiloton'), b('lima')) assert_equal(ck('oskar'), None) assert_equal(list(hr.keys()), [b(k) for k in keys]) assert_equal(list(hr.values()), [b(v) for v in values]) assert_equal(list(hr.keys_from('f')), [b(k) for k in keys[5:]]) hr.close()
def test_extras(): st = RamStorage() hw = HashWriter(st.create_file("test")) hw.extras["test"] = 100 hw.extras["blah"] = "foo" hw.close() hr = HashReader(st.open_file("test"), st.file_length("test")) assert hr.extras["test"] == 100 assert hr.extras["blah"] == "foo" hr.close() hw = OrderedHashWriter(st.create_file("test")) hw.extras["test"] = 100 hw.extras["blah"] = "foo" hw.close() hr = HashReader(st.open_file("test"), st.file_length("test")) assert hr.extras["test"] == 100 assert hr.extras["blah"] == "foo" hr.close() hr = OrderedHashReader(st.open_file("test"), st.file_length("test")) assert hr.extras["test"] == 100 assert hr.extras["blah"] == "foo" hr.close()
def test_ordered_closest(): keys = [ 'alfa', 'bravo', 'charlie', 'delta', 'echo', 'foxtrot', 'golf', 'hotel', 'india', 'juliet', 'kilo', 'lima', 'mike', 'november' ] # Make into bytes for Python 3 keys = [b(k) for k in keys] values = [b('')] * len(keys) with TempStorage("orderedclosest") as st: hwf = st.create_file("test.hsh") hw = OrderedHashWriter(hwf) hw.add_all(zip(keys, values)) hw.close() hrf = st.open_file("test.hsh") hr = OrderedHashReader(hrf) ck = hr.closest_key assert_equal(ck(b('')), b('alfa')) assert_equal(ck(b(' ')), b('alfa')) assert_equal(ck(b('alfa')), b('alfa')) assert_equal(ck(b('bravot')), b('charlie')) assert_equal(ck(b('charlie')), b('charlie')) assert_equal(ck(b('kiloton')), b('lima')) assert_equal(ck(b('oskar')), None) assert_equal(list(hr.keys()), keys) assert_equal(list(hr.values()), values) assert_equal(list(hr.keys_from(b('f'))), keys[5:]) hr.close()
def test_ordered_closest(): keys = [ 'alfa', 'bravo', 'charlie', 'delta', 'echo', 'foxtrot', 'golf', 'hotel', 'india', 'juliet', 'kilo', 'lima', 'mike', 'november' ] # Make into bytes for Python 3 keys = [b(k) for k in keys] values = [str(len(k)).encode("ascii") for k in keys] with TempStorage("orderedclosest") as st: hw = OrderedHashWriter(st.create_file("test.hsh")) hw.add_all(zip(keys, values)) hw.close() hr = OrderedHashReader.open(st, "test.hsh") ck = hr.closest_key assert ck(b('')) == b('alfa') assert ck(b(' ')) == b('alfa') assert ck(b('alfa')) == b('alfa') assert ck(b('bravot')) == b('charlie') assert ck(b('charlie')) == b('charlie') assert ck(b('kiloton')) == b('lima') assert ck(b('oskar')) is None assert list(hr.keys()) == keys assert list(hr.values()) == values assert list(hr.keys_from(b('f'))) == keys[5:] hr.close()