Пример #1
0
 def test_edit_index8(self):
     """test adding new rows"""
     model = PivotModel()
     model.set_new_data(self.data, self.index_names, self.index_types)
     row_headers = model._row_data_header.copy()
     model.edit_index([('new1', 'new2', 10), ('new1', 'new2', 11)],[6,7],'row')
     self.assertEqual(model._row_data_header, row_headers + [('new1', 'new2', 10), ('new1', 'new2', 11)])
Пример #2
0
 def test_edit_index9(self):
     """test adding new rows invalid rows"""
     model = PivotModel()
     model.set_new_data(self.data, self.index_names, self.index_types)
     row_headers = model._row_data_header.copy()
     model.edit_index([('new1', 'new2', 'wrong_type')],[6],'row')
     self.assertEqual(model._row_data_header, row_headers + [('new1', 'new2', 'wrong_type')])
     self.assertEqual(model._invalid_row, set([6]))
Пример #3
0
 def test_edit_index5(self):
     """test that tuple_index_entries is not updated when index change with invalid indexes"""
     model = PivotModel()
     model.set_new_data(self.data, self.index_names, self.index_types, tuple_index_entries = self.tuple_index_entries)
     set1 = set(model.tuple_index_entries[('test1','test2')])
     set2 = set(model.tuple_index_entries[('test3',)])
     model.edit_index([(1, 2, 'invalid types')],[1],'row')
     self.assertEqual(model.tuple_index_entries[('test1','test2')], set1)
     self.assertEqual(model.tuple_index_entries[('test3',)], set2)
Пример #4
0
 def test_edit_index7(self):
     """test that index_entries doesn't add invalid entries when editing index"""
     model = PivotModel()
     model.set_new_data(self.data, self.index_names, self.index_types, tuple_index_entries = self.tuple_index_entries)
     set1 = set(model.index_entries['test1'])
     set2 = set(model.index_entries['test2'])
     set3 = set(model.index_entries['test3'])
     model.edit_index([(2, 4, 'invalid_types')],[1],'row')
     self.assertEqual(model.index_entries['test1'],set1)
     self.assertEqual(model.index_entries['test2'],set2)
     self.assertEqual(model.index_entries['test3'],set3)
Пример #5
0
 def test_edit_index4(self):
     """test that tuple_index_entries is updated when index change"""
     model = PivotModel()
     model.set_new_data(self.data, self.index_names, self.index_types, tuple_index_entries = self.tuple_index_entries)
     set1 = set(model.tuple_index_entries[('test1','test2')])
     set2 = set(model.tuple_index_entries[('test3',)])
     set1.add(('new1','new2'))
     set2.add((10,))
     model.edit_index([('new1', 'new2', 10)],[1],'row')
     self.assertEqual(model.tuple_index_entries[('test1','test2')], set1)
     self.assertEqual(model.tuple_index_entries[('test3',)], set2)
Пример #6
0
 def test_edit_index1(self):
     """edit existing index to new"""
     model = PivotModel()
     model.set_new_data(self.data, self.index_names, self.index_types)
     data = self.dict_data
     data.pop(('a', 'aa', 1))
     delete_data = {('a', 'aa', 1): 'value_a_aa_1'}
     new_data = {('new1', 'new2', 1): 'value_a_aa_1'}
     edit_data = {('new1', 'new2', 1): None}
     model.edit_index([('new1', 'new2', 1)],[0],'row')
     self.assertEqual(model._row_data_header[0],('new1', 'new2', 1))
     self.assertEqual(model._data, {**data, **new_data})
     self.assertEqual(model._edit_data, edit_data)
     self.assertEqual(model._deleted_data, delete_data)
Пример #7
0
 def test_edit_index2(self):
     """edit existing index to new with pivot"""
     model = PivotModel()
     model.set_new_data(self.data, self.index_names, self.index_types)
     model.set_pivot(['test1','test2'], ['test3'], [], ())
     data = self.dict_data
     data.pop(('a', 'aa', 1))
     delete_data = {('a', 'aa', 1): 'value_a_aa_1'}
     new_data = {('a', 'aa', 8): 'value_a_aa_1'}
     edit_data = {('a', 'aa', 8): None}
     model.edit_index([(8,)],[0],'column')
     self.assertEqual(model._column_data_header[0],(8,))
     self.assertEqual(model._data, {**data, **new_data})
     self.assertEqual(model._edit_data, edit_data)
     self.assertEqual(model._deleted_data, delete_data)
Пример #8
0
 def test_edit_index3(self):
     """edit existing index to invalid"""
     model = PivotModel()
     model.set_new_data(self.data, self.index_names, self.index_types)
     data = self.dict_data
     data.pop(('a', 'bb', 2))
     delete_data = {('a', 'bb', 2): 'value_a_bb_2'}
     new_data = {}
     edit_data = {}
     invalid_row = set([1])
     invalid_data = {(1,0): 'value_a_bb_2'}
     model.edit_index([('new1', 'new2', 'wrong_type')],[1],'row')
     self.assertEqual(model._data, {**data, **new_data})
     self.assertEqual(model._edit_data, edit_data)
     self.assertEqual(model._deleted_data, delete_data)
     self.assertEqual(model._invalid_row, invalid_row)
     self.assertEqual(model._invalid_data, invalid_data)
     self.assertEqual(model._row_data_header[1],('new1', 'new2', 'wrong_type'))