def test_simpleListReplace(self): origList = ['bad', 'mother', 'Fer'] orig = {1: origList, 'foo': 'bar'} new = {1: {0: 'samuel', 1: 'jackson'}, 'foo': 'bar'} both, only1, only2, diff = arguments.compareCascadingDicts(orig, new) self.assertEqual(both, set([1, 'foo'])) self.assertEqual(only1, set()) self.assertEqual(only2, set()) print('diff:', diff) self.assertEqual( diff, {1: { 0: 'samuel', 1: 'jackson', 2: arguments.RemovedKey('Fer') }}) arguments.mergeCascadingDicts(diff, orig) self.assertEqual( orig, { 1: { 0: 'samuel', 1: 'jackson', 2: arguments.RemovedKey('Fer') }, 'foo': 'bar' }) self.assertTrue(origList is not orig[1])
def test_subRemove(self): orig = {1: {'plants': 'stegosaurus'}} arguments.mergeCascadingDicts( {1: { 'plants': arguments.RemovedKey('old') }}, orig) self.assertEqual(orig, {1: {}})
def test_simpleRemove(self): orig = {1: 'a'} new = {} both, only1, only2, diff = arguments.compareCascadingDicts(orig, new) self.assertEqual(both, set()) self.assertEqual(only1, set([1])) self.assertEqual(only2, set()) self.assertEqual(diff, {1: arguments.RemovedKey('a')}) arguments.mergeCascadingDicts(diff, orig) self.assertEqual(orig, new)
def test_simpleListRemove(self): origList = ['bad', 'mother', 'Fer'] orig = {1: origList} arguments.mergeCascadingDicts({1: { 0: arguments.RemovedKey('old') }}, orig, allowDictToListMerging=True) self.assertEqual(orig, {1: ['mother', 'Fer']}) self.assertTrue(origList is orig[1])
def test_simpleListRemove(self): origList = ['bad', 'mother', 'Fer'] orig = {1: origList} new = {1: ['bad', 'mother']} both, only1, only2, diff = arguments.compareCascadingDicts(orig, new) self.assertEqual(both, set([1])) self.assertEqual(only1, set()) self.assertEqual(only2, set()) self.assertEqual(diff, {1: {2: arguments.RemovedKey('Fer')}}) arguments.mergeCascadingDicts(diff, orig, allowDictToListMerging=True) self.assertEqual(orig, new) self.assertTrue(origList is orig[1])
def test_subRemove(self): orig = {1: {'plants': 'stegosaurus'}} new = {1: {}} both, only1, only2, diff = arguments.compareCascadingDicts(orig, new) self.assertEqual(both, set([1])) self.assertEqual(only1, set()) self.assertEqual(only2, set()) self.assertEqual(diff, {1: { 'plants': arguments.RemovedKey('stegosaurus') }}) arguments.mergeCascadingDicts(diff, orig) self.assertEqual(orig, new)
def test_simpleRemove(self): orig = {1: 'a'} arguments.mergeCascadingDicts({1: arguments.RemovedKey('old')}, orig) self.assertEqual(orig, {})