Пример #1
0
 def test_missing_merge_fields_both_sides(self):
     key = 'ID'
     fields = ['Example_IDs']
     table = [{'ID': 'id1'}, {}, {'ID': 'id3', 'Example_IDs': 'ex3'}]
     new_table = p.merge_array_rows(table, key, fields)
     expected = [{'ID': 'id1'}, {'ID': 'id3', 'Example_IDs': ['ex3']}]
     self.assertEqual(new_table, expected)
Пример #2
0
 def test_only_merge_if_necessary(self):
     key = 'ID'
     fields = ['Example_IDs']
     table = [{
         'ID': 'id1',
         'Example_IDs': 'ex1'
     }, {
         'ID': 'id2',
         'Example_IDs': 'ex2'
     }, {
         'ID': 'id3',
         'Example_IDs': 'ex3'
     }]
     new_table = p.merge_array_rows(table, key, fields)
     # I want all array fields consistently to be lists
     expected = [{
         'ID': 'id1',
         'Example_IDs': ['ex1']
     }, {
         'ID': 'id2',
         'Example_IDs': ['ex2']
     }, {
         'ID': 'id3',
         'Example_IDs': ['ex3']
     }]
     self.assertEqual(new_table, expected)
Пример #3
0
 def test_merge_multiple_rows(self):
     key = 'ID'
     fields = ['Example_IDs']
     table = [{
         'ID': 'id1',
         'Example_IDs': 'ex1'
     }, {
         'Example_IDs': 'ex2'
     }, {
         'Example_IDs': 'ex3'
     }]
     new_table = p.merge_array_rows(table, key, fields)
     expected = [{'ID': 'id1', 'Example_IDs': ['ex1', 'ex2', 'ex3']}]
     self.assertEqual(new_table, expected)
Пример #4
0
 def test_first_elem_lacks_primary_key(self):
     key = 'ID'
     fields = ['Example_IDs']
     table = [{
         'Example_IDs': 'ex1'
     }, {
         'Example_IDs': 'ex2'
     }, {
         'ID': 'id3',
         'Example_IDs': 'ex3'
     }]
     new_table = p.merge_array_rows(table, key, fields)
     expected = [{
         'Example_IDs': ['ex1', 'ex2']
     }, {
         'ID': 'id3',
         'Example_IDs': ['ex3']
     }]
     self.assertEqual(new_table, expected)