def test_get_pivoted_data1(self): """get data with pivot and frozen index and tuple_index_entries""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types, tuple_index_entries=self.tuple_index_entries) model.set_pivot(['test2'], ['test3'], ['test1'], ('a',)) data = [['value_a_aa_1', None, None, None, None, None], [None, 'value_a_bb_2', None, None, None, None], [None, None, None, None, None, None]] data_model = [[d for d in inner] for inner in model.get_pivoted_data(range(3),range(6))] self.assertEqual(data_model, data)
def test_get_pivoted_data3(self): """get data from pivoted model""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types) model.set_pivot(['test1','test2'], ['test3'], [], ()) data = [['value_a_aa_1', None, None, None, None], [None, 'value_a_bb_2', None, None, None], [None, None, 'value_b_cc_3', None, None], [None, None, None, 'value_c_cc_4', None], [None, None, None, None, 'value_d_dd_5'], [None, None, None, None, 'value_e_ee_5']] data_model = [[d for d in inner] for inner in model.get_pivoted_data(range(6),range(5))] self.assertEqual(data_model, data)
def test_paste_values1(self): """test pasting data into data only""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types) model.set_pivot(['test1','test2'], ['test3'], [], ()) data = [['paste1', 'paste2', None, None, None], ['paste3', 'paste4', None, None, None], [None, None, 'value_b_cc_3', None, None], [None, None, None, 'value_c_cc_4', None], [None, None, None, None, 'value_d_dd_5'], [None, None, None, None, 'value_e_ee_5']] model.paste_data(data=[['paste1', 'paste2'],['paste3', 'paste4']], row_mask=[0, 1], col_mask=[0, 1]) data_model = [[d for d in inner] for inner in model.get_pivoted_data(range(6),range(5))] self.assertEqual(data_model, data)
def test_set_pivot_with_frozen(self): """Test set_pivot with frozen dimension""" model = PivotModel() model.set_new_data(self.data, self.index_names, self.index_types) model.set_pivot(['test2'], ['test3'], ['test1'], ('a',)) row_headers = [('aa',), ('bb',)] data = [['value_a_aa_1', None], [None, 'value_a_bb_2']] column_headers = [(1,), (2,)] data_model = [[d for d in inner] for inner in model.get_pivoted_data(range(2),range(2))] self.assertEqual(model._row_data_header, row_headers) self.assertEqual(model._column_data_header, column_headers) self.assertEqual(model._row_data_header_set, set(row_headers)) self.assertEqual(model._column_data_header_set, set(column_headers)) self.assertEqual(data_model, data)