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))
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))
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))