def test_add_new_value_then_delete(self): """test that adding a value and then deleteing it tracks in _deleted_data and _edited_data""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types, rows=('test1','test3'), columns=('test2',)) model.set_pivoted_data([['new_data']],[0],[1]) model.set_pivoted_data([['']],[0],[1]) self.assertEqual(model._deleted_data, {}) self.assertEqual(model._edit_data, {})
def test_edit_value_edit_back(self): """test that edit a value and editing it to original value to make sure it's not in _edit_value""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types) model.set_pivoted_data([['new_data']],[0],[0]) model.set_pivoted_data([['value_a_aa_1']],[0],[0]) self.assertEqual(model._deleted_data, {}) self.assertEqual(model._edit_data, {})
def test_delete_then_add_value(self): """test that deleting a value and then adding it back tracks in _deleted_data and _edited_data""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types, rows=(), columns=tuple(self.index_names)) model.set_pivoted_data([['']],[0],[0]) model.set_pivoted_data([['edited_val']],[0],[0]) self.assertEqual(model._deleted_data, {}) self.assertEqual(model._edit_data, {('a','aa',1): 'value_a_aa_1'})
def test_set_pivoted_data4(self): """set data with pivot and invalid columns""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types, rows = ('test1',), columns = ('test2','test3'), tuple_index_entries = self.tuple_index_entries) data = [['row0_c0','row0_c6']] row_mask = [0] col_mask = [0, 6] new_data = {('a', 'aa', 1): 'row0_c0'} edit_data = {('a', 'aa', 1): 'value_a_aa_1'} invalid_data = {(0, 6): 'row0_c6'} model.set_pivoted_data(data, row_mask, col_mask) self.assertEqual(model._data, {**self.dict_data, **new_data}) self.assertEqual(model._edit_data, edit_data) self.assertEqual(model._deleted_data, {}) self.assertEqual(model._invalid_data, invalid_data)
def test_set_pivoted_data2(self): """set data with invalid rows""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types, tuple_index_entries=self.tuple_index_entries) data = [['row0_c0','row0_c1'], ['row8_c0','row8_c1']] row_mask = [0, 8] col_mask = [0, 1] new_data = {('a', 'aa', 1): 'row0_c0'} edit_data = {('a', 'aa', 1): 'value_a_aa_1'} invalid_data = {(8, 0): 'row8_c0'} model.set_pivoted_data(data, row_mask, col_mask) self.assertEqual(model._data, {**self.dict_data, **new_data}) self.assertEqual(model._edit_data, edit_data) self.assertEqual(model._deleted_data, {}) self.assertEqual(model._invalid_data, invalid_data)
def test_set_pivoted_data1(self): """set data""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types, tuple_index_entries=self.tuple_index_entries) data = [['row0_c0','row0_c1'], ['row2_c0','row2_c1']] row_mask = [0, 2] col_mask = [0, 1] new_data = {('a', 'aa', 1): 'row0_c0', ('b', 'cc', 3): 'row2_c0'} edit_data = {('a', 'aa', 1): 'value_a_aa_1', ('b', 'cc', 3): 'value_b_cc_3'} model.set_pivoted_data(data, row_mask, col_mask) self.assertEqual(model._data, {**self.dict_data, **new_data}) self.assertEqual(model._edit_data, edit_data) self.assertEqual(model._deleted_data, {}) self.assertEqual(model._invalid_data, {})
def test_set_pivoted_data3(self): """set data with pivot""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types, rows = ('test1','test2'), columns = ('test3',)) data = [['row0_c0','row0_c1'], ['row2_c0','row2_c1']] row_mask = [0, 2] col_mask = [0, 1] new_data = {('a', 'aa', 1): 'row0_c0', ('a', 'aa', 2): 'row0_c1', ('b', 'cc', 1): 'row2_c0', ('b', 'cc', 2): 'row2_c1'} edit_data = {('a', 'aa', 1): 'value_a_aa_1', ('a', 'aa', 2): None, ('b', 'cc', 1): None, ('b', 'cc', 2): None} model.set_pivoted_data(data, row_mask, col_mask) self.assertEqual(model._data, {**self.dict_data, **new_data}) self.assertEqual(model._edit_data, edit_data) self.assertEqual(model._deleted_data, {}) self.assertEqual(model._invalid_data, {})