Esempio n. 1
0
    def test_nested_dictionaries(self):
        dict1 = { 0: { 1: False }, 2: {} }
        dict2 = { 0: { 1: False }, 3: True }

        actual = dicttools.intersect(dict1, dict2)
        expected = { 0: { 1: False} }
        self.assertEquals(actual, expected, msg="%s != %s" % (expected, actual)) 
Esempio n. 2
0
    def test_basic_dictionaries(self):
        dict1 = { 0: 0, 1: 1 }
        dict2 = { 1: 1, 2: 2 }

        actual = dicttools.intersect(dict1, dict2)
        expected = { 1: 1 }
        self.assertEquals(actual, expected, msg="%s != %s" % (expected, actual)) 
Esempio n. 3
0
    def test_intersect_performance(self):
        total = 20000
        items1 = [ (x, float(x)) for x in range(0, total) ]
        items2 = [ (x, float(x)) for x in range(0, total) ]
        
        dict1 = dict(items1)
        dict2 = dict(items1)

        start = time.time()
        dicttools.intersect(dict1, dict2)
        dictionary_elapsed = time.time() - start

        start = time.time()
        [ filter(lambda element: element in items2, items1) ] 
        list_elapsed = time.time() - start
        print('\n dict intersect is %2.2fx slower than list intersect' % \
                                             (dictionary_elapsed/list_elapsed))