Esempio n. 1
0
 def test_update_dict_with_list_null(self):
     src = {'name': 'NAME', 'data': ['A', 'B', 'C']}
     comp = {'name': 'NAME_UPD', 'data': None}
     d = diff(src, comp)
     self.assertEqual(2, len(d))
     self.assertTrue(_updated('name', 'NAME', 'NAME_UPD') in d)
     self.assertTrue(_updated('data', ['A', 'B', 'C'], None) in d)
Esempio n. 2
0
 def test_updated_property(self):
     src = {'name': 'NAME', 'desc': 'DESC'}
     comp = {'name': 'NAME_UPD', 'desc': 'DESC_UPD'}
     d = diff(src, comp)
     self.assertEqual(2, len(d))
     self.assertTrue(_updated('name', 'NAME', 'NAME_UPD') in d)
     self.assertTrue(_updated('desc', 'DESC', 'DESC_UPD') in d)
Esempio n. 3
0
 def test_update_dict_with_list_reduce(self):
     src = {'name': 'NAME', 'data': ['A', 'B', 'C']}
     comp = {'name': 'NAME_UPD', 'data': ['A', 'Z']}
     d = diff(src, comp)
     self.assertEqual(3, len(d))
     self.assertTrue(_updated('name', 'NAME', 'NAME_UPD') in d)
     self.assertTrue(_updated('data[1]', 'B', 'Z') in d)
     self.assertTrue(_removed('data[2]', 'C') in d)
Esempio n. 4
0
 def test_update_dict_with_list_extend(self):
     src = {'name': 'NAME', 'data': ['A', 'B', 'C']}
     comp = {'name': 'NAME_UPD', 'data': ['A', 'Z', 'Y', 'D']}
     d = diff(src, comp)
     self.assertEqual(4, len(d))
     self.assertTrue(_updated('name', 'NAME', 'NAME_UPD') in d)
     self.assertTrue(_updated('data[1]', 'B', 'Z') in d)
     self.assertTrue(_updated('data[2]', 'C', 'Y') in d)
     self.assertTrue(_added('data[3]', 'D') in d)
Esempio n. 5
0
 def test_update_list_of_lists(self):
     src = [
         ['A', 'B', 'C'],
         ['X', 'Y', 'Z'],
         ['1', '2', '3'],
     ]
     comp = [['A1', 'B', 'C', 'D'], ['X1', 'Y'], ['1A', '2', '3'],
             ['D', 'E']]
     d = diff(src, comp)
     self.assertEqual(6, len(d))
     self.assertTrue(_updated('[0][0]', 'A', 'A1') in d)
     self.assertTrue(_added('[0][3]', 'D') in d)
     self.assertTrue(_updated('[1][0]', 'X', 'X1') in d)
     self.assertTrue(_removed('[1][2]', 'Z') in d)
     self.assertTrue(_updated('[2][0]', '1', '1A') in d)
     self.assertTrue(_added('[3]', ['D', 'E']) in d)
Esempio n. 6
0
 def test_update_list_reduce(self):
     src = ['A', 'B', 'C']
     comp = ['A', 'Z']
     d = diff(src, comp)
     self.assertEqual(2, len(d))
     self.assertTrue(_updated('[1]', 'B', 'Z') in d)
     self.assertTrue(_removed('[2]', 'C') in d)
Esempio n. 7
0
 def test_update_list_extend(self):
     src = ['A', 'B', 'C']
     comp = ['A', 'Z', 'C', 'D']
     d = diff(src, comp)
     self.assertEqual(2, len(d))
     self.assertTrue(_updated('[1]', 'B', 'Z') in d)
     self.assertTrue(_added('[3]', 'D') in d)
Esempio n. 8
0
 def test_updated(self):
     self.assertEqual(
         {
             'path': 'PATH',
             'old_value': 'OLD',
             'new_value': 'NEW'
         }, _updated('PATH', 'OLD', 'NEW'))
Esempio n. 9
0
 def test_update_dict_with_dict(self):
     src = {
         'name': 'NAME',
         'data': {
             'attr1': 'VALUE_1',
             'attr2': 'VALUE_2'
         }
     }
     comp = {
         'name': 'NAME_UPD',
         'data': {
             'attr1': 'VALUE_1_UPD',
             'attr2': 'VALUE_2_UPD'
         }
     }
     d = diff(src, comp)
     self.assertEqual(3, len(d))
     self.assertTrue(_updated('name', 'NAME', 'NAME_UPD') in d)
     self.assertTrue(_updated('data.attr1', 'VALUE_1', 'VALUE_1_UPD') in d)
     self.assertTrue(_updated('data.attr2', 'VALUE_2', 'VALUE_2_UPD') in d)
Esempio n. 10
0
 def test_update_dict_with_list_of_dict_reduce(self):
     src = {
         'name':
         'NAME',
         'data': [{
             'name': 'NAME_1',
             'data': 'DATA_1'
         }, {
             'name': 'NAME_2',
             'data': 'DATA_2'
         }, {
             'name': 'NAME_3',
             'data': 'DATA_3'
         }]
     }
     comp = {
         'name':
         'NAME_UPD',
         'data': [{
             'name': 'NAME_1_UPD',
             'data': 'DATA_1_UPD'
         }, {
             'name': 'NAME_2',
             'data': 'DATA_2'
         }]
     }
     d = diff(src, comp)
     self.assertEqual(4, len(d))
     self.assertTrue(_updated('name', 'NAME', 'NAME_UPD') in d)
     self.assertTrue(_updated('data[0].name', 'NAME_1', 'NAME_1_UPD') in d)
     self.assertTrue(_updated('data[0].data', 'DATA_1', 'DATA_1_UPD') in d)
     self.assertTrue(
         _removed('data[2]', {
             'name': 'NAME_3',
             'data': 'DATA_3'
         }) in d)
Esempio n. 11
0
 def test_update_value(self):
     src = 'VALUE'
     comp = 'UPDATED'
     d = diff(src, comp)
     self.assertEqual(1, len(d))
     self.assertTrue(_updated('', 'VALUE', 'UPDATED') in d)