def test_discrete_editor(self): w = DiscreteVariableEditor() self.assertIs(w.get_data(), None) v = DiscreteVariable("C", values=["a", "b", "c"]) v.attributes.update({"A": 1, "B": "b"}) w.set_data(v) self.assertEqual(w.name_edit.text(), v.name) self.assertEqual(w.labels_model.get_dict(), v.attributes) self.assertTrue(w.is_same()) w.set_data(None) self.assertEqual(w.name_edit.text(), "") self.assertEqual(w.labels_model.get_dict(), {}) self.assertIs(w.get_data(), None) # test selection/deselection in the view w.set_data(v) view = w.values_edit model = view.model() assert model.rowCount() sel_model = view.selectionModel() model = sel_model.model() sel_model.select(model.index(0, 0), QItemSelectionModel.Select) sel_model.select(model.index(0, 0), QItemSelectionModel.Deselect)
def test_discrete_editor(self): w = DiscreteVariableEditor() self.assertEqual(w.get_data(), (None, [])) v = Categorical("C", ("a", "b", "c"), None, (("A", "1"), ("B", "b"))) w.set_data(v) self.assertEqual(w.name_edit.text(), v.name) self.assertEqual(w.labels_model.get_dict(), dict(v.annotations)) self.assertEqual(w.get_data(), (v, [])) w.set_data(None) self.assertEqual(w.name_edit.text(), "") self.assertEqual(w.labels_model.get_dict(), {}) self.assertEqual(w.get_data(), (None, [])) mapping = [("c", "C"), ("a", "A"), ("b", None), (None, "b")] w.set_data(v, [CategoriesMapping(mapping)]) w.grab() # run delegate paint method self.assertEqual(w.get_data(), (v, [CategoriesMapping(mapping)])) # test selection/deselection in the view w.set_data(v) view = w.values_edit model = view.model() assert model.rowCount() sel_model = view.selectionModel() model = sel_model.model() sel_model.select(model.index(0, 0), QItemSelectionModel.Select) sel_model.select(model.index(0, 0), QItemSelectionModel.Deselect)
def test_discrete_editor(self): w = DiscreteVariableEditor() self.assertEqual(w.get_data(), (None, [])) v = Categorical("C", ("a", "b", "c"), None, (("A", "1"), ("B", "b"))) w.set_data(v) self.assertEqual(w.name_edit.text(), v.name) self.assertEqual(w.labels_model.get_dict(), dict(v.annotations)) self.assertEqual(w.get_data(), (v, [])) w.set_data(None) self.assertEqual(w.name_edit.text(), "") self.assertEqual(w.labels_model.get_dict(), {}) self.assertEqual(w.get_data(), (None, [])) mapping = [ ("c", "C"), ("a", "A"), ("b", None), (None, "b") ] w.set_data(v, [CategoriesMapping(mapping)]) w.grab() # run delegate paint method self.assertEqual(w.get_data(), (v, [CategoriesMapping(mapping)])) # test selection/deselection in the view w.set_data(v) view = w.values_edit model = view.model() assert model.rowCount() sel_model = view.selectionModel() model = sel_model.model() sel_model.select(model.index(0, 0), QItemSelectionModel.Select) sel_model.select(model.index(0, 0), QItemSelectionModel.Deselect)
def test_discrete_editor(self): w = DiscreteVariableEditor() self.assertIs(w.get_data(), None) v = DiscreteVariable("C", values=["a", "b", "c"]) v.attributes.update({"A": 1, "B": "b"}) w.set_data(v) self.assertEqual(w.name_edit.text(), v.name) self.assertEqual(w.labels_model.get_dict(), v.attributes) self.assertTrue(w.is_same()) w.set_data(None) self.assertEqual(w.name_edit.text(), "") self.assertEqual(w.labels_model.get_dict(), {}) self.assertIs(w.get_data(), None)
def test_discrete_editor(self): w = DiscreteVariableEditor() self.assertEqual(w.get_data(), (None, [])) v = Categorical("C", ("a", "b", "c"), (("A", "1"), ("B", "b")), False) values = [0, 0, 0, 1, 1, 2] w.set_data_categorical(v, values) self.assertEqual(w.name_edit.text(), v.name) self.assertEqual(w.labels_model.get_dict(), dict(v.annotations)) self.assertEqual(w.get_data(), (v, [])) w.set_data_categorical(None, None) self.assertEqual(w.name_edit.text(), "") self.assertEqual(w.labels_model.get_dict(), {}) self.assertEqual(w.get_data(), (None, [])) mapping = [("c", "C"), ("a", "A"), ("b", None), (None, "b")] w.set_data_categorical(v, values, [CategoriesMapping(mapping)]) w.grab() # run delegate paint method self.assertEqual(w.get_data(), (v, [CategoriesMapping(mapping)])) # test selection/deselection in the view w.set_data_categorical(v, values) view = w.values_edit model = view.model() assert model.rowCount() sel_model = view.selectionModel() model = sel_model.model() sel_model.select(model.index(0, 0), QItemSelectionModel.Select) sel_model.select(model.index(0, 0), QItemSelectionModel.Deselect) # merge mapping mapping = [("a", "a"), ("b", "b"), ("c", "b")] w.set_data_categorical(v, values, [CategoriesMapping(mapping)]) self.assertEqual(w.get_data()[1], [CategoriesMapping(mapping)]) self.assertEqual(model.data(model.index(0, 0), MultiplicityRole), 1) self.assertEqual(model.data(model.index(1, 0), MultiplicityRole), 2) self.assertEqual(model.data(model.index(2, 0), MultiplicityRole), 2) w.grab() model.setData(model.index(0, 0), "b", Qt.EditRole) self.assertEqual(model.data(model.index(0, 0), MultiplicityRole), 3) self.assertEqual(model.data(model.index(1, 0), MultiplicityRole), 3) self.assertEqual(model.data(model.index(2, 0), MultiplicityRole), 3) w.grab()
def test_discrete_editor(self): w = DiscreteVariableEditor() self.assertEqual(w.get_data(), (None, [])) v = Categorical("C", ("a", "b", "c"), (("A", "1"), ("B", "b"))) w.set_data(v) self.assertEqual(w.name_edit.text(), v.name) self.assertFalse(w.ordered_cb.isChecked()) self.assertEqual(w.labels_model.get_dict(), dict(v.annotations)) self.assertEqual(w.get_data(), (v, [])) w.set_data(None) self.assertEqual(w.name_edit.text(), "") self.assertEqual(w.labels_model.get_dict(), {}) self.assertEqual(w.get_data(), (None, [])) mapping = [ ("c", "C"), ("a", "A"), ("b", None), (None, "b") ] w.set_data(v, [CategoriesMapping(mapping)]) w.grab() # run delegate paint method self.assertEqual(w.get_data(), (v, [CategoriesMapping(mapping)])) w.set_data(v, [CategoriesMapping(mapping), ChangeOrdered(True)]) self.assertTrue(w.ordered_cb.isChecked()) self.assertEqual( w.get_data()[1], [CategoriesMapping(mapping), ChangeOrdered(True)] ) # test selection/deselection in the view w.set_data(v) view = w.values_edit model = view.model() assert model.rowCount() sel_model = view.selectionModel() model = sel_model.model() sel_model.select(model.index(0, 0), QItemSelectionModel.Select) sel_model.select(model.index(0, 0), QItemSelectionModel.Deselect) # merge mapping mapping = [ ("a", "a"), ("b", "b"), ("c", "b") ] w.set_data(v, [CategoriesMapping(mapping)]) self.assertEqual(w.get_data()[1], [CategoriesMapping(mapping)]) self.assertEqual(model.data(model.index(0, 0), MultiplicityRole), 1) self.assertEqual(model.data(model.index(1, 0), MultiplicityRole), 2) self.assertEqual(model.data(model.index(2, 0), MultiplicityRole), 2) w.grab() model.setData(model.index(0, 0), "b", Qt.EditRole) self.assertEqual(model.data(model.index(0, 0), MultiplicityRole), 3) self.assertEqual(model.data(model.index(1, 0), MultiplicityRole), 3) self.assertEqual(model.data(model.index(2, 0), MultiplicityRole), 3) w.grab()