Esempio n. 1
0
    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]})
Esempio n. 2
0
    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]
            })
Esempio n. 3
0
    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)
Esempio n. 4
0
    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
        )