def testGetPrefix(self): '''Tests set/get_prefix.''' m = Map() # Tuple key m.set(('key1a', 'key1b'), 'value1ab') self.assertEquals(m.get(('key1a', 'key1b')), 'value1ab') # Retrieve by prefix self.assertEquals(m.get_prefix('key1a'), {'key1b': 'value1ab'}) # get_prefix only retrieves at the given level m.set(('key1a', 'key1b', 'key1c'), 'value1abc') self.assertEquals(m.get_prefix('key1a'), {'key1b': 'value1ab'})
def testInheritancePrefix(self): '''Tests that inheritance works with prefixes''' parent_map = Map() parent_map.set(('key1a', 'key1b'), 'value1ab') child_map = Map(parent_map) self.assertEquals(parent_map.get(('key1a', 'key1b')), 'value1ab') self.assertEquals(child_map.get(('key1a', 'key1b')), 'value1ab') self.assertEquals(parent_map.get_prefix(('key1a',)), {'key1b': 'value1ab'}) self.assertEquals(child_map.get_prefix(('key1a',)), {'key1b': 'value1ab'}) # Override in the child child_map.set(('key1a', 'key1b'), 'value1abchild') self.assertEquals(parent_map.get(('key1a', 'key1b')), 'value1ab') self.assertEquals(child_map.get(('key1a', 'key1b')), 'value1abchild') self.assertEquals(parent_map.get_prefix(('key1a',)), {'key1b': 'value1ab'}) self.assertEquals(child_map.get_prefix(('key1a',)), {'key1b': 'value1abchild'})