def test_with_set_column_titles(self): dicts = [{"key1_1": "val1_1", "key1_2": "val1_2", "key1_3": "val1_3"}, {"key1_1": "val2_1", "key1_2": "val2_2", "key1_3": "val2_3"}, {"key1_1": "val3_1", "key1_2": "val3_2", "key1_3": "val3_3"}, {"key1_1": "val4_1", "key1_2": "val4_2", "key1_3": "val4_3"}, {"key1_1": "val5_1", "key1_2": "val5_2", "key1_3": "val5_3"}] grid = DictionaryGrid(dictionaries = dicts, keys=["key1_1","key1_2","key1_3"]) titles = {"key1_1":"KEY1","key1_2":"KEY2","key1_3":"KEY3"} grid.set_column_titles(titles) grid_filter = GridFilter(grid) filter_row = grid_filter.rows[0] column_combo = filter_row.get_children()[0].get_children()[0] #make sure the correct titles are appearing itr = column_combo.get_model().get_iter(0) self.assertEqual(column_combo.get_model().get_value(itr,0),"KEY1") itr = column_combo.get_model().get_iter(1) self.assertEqual(column_combo.get_model().get_value(itr,0),"KEY2") itr = column_combo.get_model().get_iter(2) self.assertEqual(column_combo.get_model().get_value(itr,0),"KEY3") #make sure filtering still works filter_combo = filter_row.get_children()[1].get_children()[0].get_children()[0] filter_combo.set_active(1) entry = filter_row.get_children()[1].get_children()[0].get_children()[1] entry.set_text("val5_1") self.assertEqual(len(grid.get_model()),4)
def test_set_multiple_column_titles(self): dicts = [{ "key1_1": "val1_1", "key1_2": "val1_2", "key1_3": "val1_3" }, { "key1_1": "val2_1", "key1_2": "val2_2", "key1_3": "val2_3" }, { "key1_1": "val3_1", "key1_2": "val3_2", "key1_3": "val3_3" }, { "key1_1": "val4_1", "key1_2": "val4_2", "key1_3": "val4_3" }, { "key1_1": "val5_1", "key1_2": "val5_2", "key1_3": "val5_3" }] grid = DictionaryGrid(dicts) titles = {"key1_1": "KEY1", "key1_2": "KEY2", "key1_3": "KEY3"} grid.set_column_titles(titles) for c in grid.columns: self.assertTrue(grid.columns[c].get_title() in ("KEY1", "KEY2", "KEY3"))