def test_get_descriptors(self): code_descrs = [ (0, random_descriptor()), # [0] (1, random_descriptor()), # [1] (3, random_descriptor()), # [2] (0, random_descriptor()), # [3] (8, random_descriptor()), # [4] ] index = MemoryCodeIndex() index.add_many_descriptors(code_descrs) # single descriptor reference r = list(index.get_descriptors(1)) ntools.assert_equal(len(r), 1) ntools.assert_equal(r[0], code_descrs[1][1]) # multiple descriptor reference r = list(index.get_descriptors(0)) ntools.assert_equal(len(r), 2) ntools.assert_equal(set(r), {code_descrs[0][1], code_descrs[3][1]}) # multiple code query r = list(index.get_descriptors([0, 3, 8])) ntools.assert_equal(len(r), 4) ntools.assert_equal(set(r), {code_descrs[0][1], code_descrs[2][1], code_descrs[3][1], code_descrs[4][1]})
def test_get_descriptors(self): code_descrs = [ (0, random_descriptor()), # [0] (1, random_descriptor()), # [1] (3, random_descriptor()), # [2] (0, random_descriptor()), # [3] (8, random_descriptor()), # [4] ] index = MemoryCodeIndex() index.add_many_descriptors(code_descrs) # single descriptor reference r = list(index.get_descriptors(1)) ntools.assert_equal(len(r), 1) ntools.assert_equal(r[0], code_descrs[1][1]) # multiple descriptor reference r = list(index.get_descriptors(0)) ntools.assert_equal(len(r), 2) ntools.assert_equal(set(r), {code_descrs[0][1], code_descrs[3][1]}) # multiple code query r = list(index.get_descriptors([0, 3, 8])) ntools.assert_equal(len(r), 4) ntools.assert_equal( set(r), { code_descrs[0][1], code_descrs[2][1], code_descrs[3][1], code_descrs[4][1] })
def test_add_many(self): code_descrs = [ (0, random_descriptor()), (1, random_descriptor()), (3, random_descriptor()), (0, random_descriptor()), (8, random_descriptor()), ] index = MemoryCodeIndex() index.add_many_descriptors(code_descrs) # Compare code keys of input to code keys in internal table ntools.assert_equal(set(index._table.keys()), set([e[0] for e in code_descrs])) # Get the set of descriptors in the internal table and compare it with # the set of generated random descriptors. r_set = set() [r_set.update(d.values()) for d in index._table.values()] ntools.assert_equal(set([e[1] for e in code_descrs]), r_set)
def test_add_many(self): code_descrs = [ (0, random_descriptor()), (1, random_descriptor()), (3, random_descriptor()), (0, random_descriptor()), (8, random_descriptor()), ] index = MemoryCodeIndex() index.add_many_descriptors(code_descrs) # Compare code keys of input to code keys in internal table ntools.assert_equal(set(index._table.keys()), set([e[0] for e in code_descrs])) # Get the set of descriptors in the internal table and compare it with # the set of generated random descriptors. r_set = set() [r_set.update(d.values()) for d in index._table.values()] ntools.assert_equal( set([e[1] for e in code_descrs]), r_set )