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'] 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()