def test_simple(self): d = cctool.MultiDict([ ('foo', [1, 2]), ('bar', [3, 4]), ]) d2 = cctool.map_keys(d, {'foo': 'baz'}) self.assertEqual(list(d2.keys()), ['baz']) self.assertEqual(d2['baz'], [1, 2])
def test_non_exclusive(self): d = cctool.MultiDict([ ('foo', [1, 2]), ('bar', [3, 4]), ]) d2 = cctool.map_keys(d, {'foo': 'baz'}, exclusive=False) self.assertEqual(list(d2.keys()), ['baz', 'bar']) self.assertEqual(d2['baz'], [1, 2]) self.assertEqual(d2['bar'], [3, 4])
def test_simple(self): d = cctool.MultiDict([ ('foo', [1, 2]), ('bar', [3, 4]), ]) d2 = cctool.map_keys(d, { 'foo': 'baz' }) self.assertEqual(list(d2.keys()), ['baz']) self.assertEqual(d2['baz'], [1, 2])
def test_non_exclusive(self): d = cctool.MultiDict([ ('foo', [1, 2]), ('bar', [3, 4]), ]) d2 = cctool.map_keys(d, { 'foo': 'baz' }, exclusive=False) self.assertEqual(list(d2.keys()), ['baz', 'bar']) self.assertEqual(d2['baz'], [1, 2]) self.assertEqual(d2['bar'], [3, 4])
def test_join_reverse(self): d = cctool.MultiDict([ ('foo', [1, 2]), ('bar', [3, 4]), ('baz', [4, 5]), ]) d2 = cctool.map_keys(d, { 'foo': 'foo', 'bar': 'foo', 'baz': 'baz', }, reverse=True) self.assertEqual(list(d2.keys()), ['bar', 'baz']) self.assertEqual(d2['bar'], [1, 2]) self.assertEqual(d2['baz'], [4, 5])
def test_join(self): d = cctool.MultiDict([ ('foo', [1, 2]), ('bar', [3, 4]), ('baz', [4, 5]), ]) d2 = cctool.map_keys(d, { 'foo': 'foo', 'bar': 'foo', 'baz': 'baz', }) self.assertEqual(list(d2.keys()), ['foo', 'baz']) self.assertEqual(d2['foo'], [1, 2, 3, 4]) self.assertEqual(d2['baz'], [4, 5])
def test_non_destructive(self): d = cctool.MultiDict([ ('foo', [1, 2]), ('bar', [3, 4]), ('baz', [4, 5]), ]) d2 = cctool.map_keys(d, { 'foo': 'bar', 'bar': 'baz', 'baz': 'foo', }) self.assertEqual(list(d.keys()), ['foo', 'bar', 'baz']) self.assertEqual(d['foo'], [1, 2]) self.assertEqual(d['bar'], [3, 4]) self.assertEqual(d['baz'], [4, 5])
def test_keep_order(self): d = cctool.MultiDict([ ('foo', [1, 2]), ('bar', [3, 4]), ('baz', [4, 5]), ]) d2 = cctool.map_keys(d, { 'foo': 'bar', 'bar': 'baz', 'baz': 'foo', }) self.assertEqual(list(d2.keys()), ['bar', 'baz', 'foo']) self.assertEqual(d2['bar'], [1, 2]) self.assertEqual(d2['baz'], [3, 4]) self.assertEqual(d2['foo'], [4, 5])