def test_group_less_frequent_missing(self): """ Widget gives MaskedArray to GroupItemsDialog which can have missing values. gh-4599 """ def _test_correctness(): dialog.frequent_abs_radio.setChecked(True) dialog.frequent_abs_spin.setValue(3) self.assertListEqual(dialog.get_merge_attributes(), ["b", "c"]) dialog.frequent_rel_radio.setChecked(True) dialog.frequent_rel_spin.setValue(50) self.assertListEqual(dialog.get_merge_attributes(), ["b", "c"]) dialog.n_values_radio.setChecked(True) dialog.n_values_spin.setValue(1) self.assertListEqual(dialog.get_merge_attributes(), ["b", "c"]) # masked array data_masked = np.ma.array([0, 0, np.nan, 0, 1, 1, 2], mask=[0, 0, 1, 0, 0, 0, 0]) dialog = GroupItemsDialog(self.v, data_masked, [], {}) _test_correctness() data_array = np.array([0, 0, np.nan, 0, 1, 1, 2]) dialog = GroupItemsDialog(self.v, data_array, [], {}) _test_correctness() data_list = [0, 0, None, 0, 1, 1, 2] dialog = GroupItemsDialog(self.v, data_list, [], {}) _test_correctness()
def test_group_selected(self): dialog = GroupItemsDialog(self.v, self.data, ["a", "b"], {}) dialog.selected_radio.setChecked(True) dialog.new_name_line_edit.setText("BA") self.assertListEqual(dialog.get_merge_attributes(), ["a", "b"]) self.assertEqual(dialog.get_merged_value_name(), "BA")
def test_dialog_open(self): dialog = GroupItemsDialog(self.v, self.data, ["a", "b"], {}) self.assertTrue(dialog.selected_radio.isChecked()) self.assertFalse(dialog.frequent_abs_radio.isChecked()) self.assertFalse(dialog.frequent_rel_radio.isChecked()) self.assertFalse(dialog.n_values_radio.isChecked()) dialog = GroupItemsDialog(self.v, self.data, [], {}) self.assertFalse(dialog.selected_radio.isChecked()) self.assertTrue(dialog.frequent_abs_radio.isChecked()) self.assertFalse(dialog.frequent_rel_radio.isChecked()) self.assertFalse(dialog.n_values_radio.isChecked())
def test_group_keep_n(self): dialog = GroupItemsDialog(self.v, self.data, ["a", "b"], {}) dialog.n_values_radio.setChecked(True) dialog.n_values_spin.setValue(1) dialog.new_name_line_edit.setText("BA") self.assertListEqual(dialog.get_merge_attributes(), ["b", "c"]) self.assertEqual(dialog.get_merged_value_name(), "BA") dialog.n_values_spin.setValue(2) self.assertListEqual(dialog.get_merge_attributes(), ["c"]) dialog.n_values_spin.setValue(3) self.assertListEqual(dialog.get_merge_attributes(), [])
def test_group_less_frequent_rel(self): dialog = GroupItemsDialog(self.v, self.data, ["a", "b"], {}) dialog.frequent_rel_radio.setChecked(True) dialog.frequent_rel_spin.setValue(50) dialog.new_name_line_edit.setText("BA") self.assertListEqual(dialog.get_merge_attributes(), ["b", "c"]) self.assertEqual(dialog.get_merged_value_name(), "BA") dialog.frequent_rel_spin.setValue(20) self.assertListEqual(dialog.get_merge_attributes(), ["c"]) dialog.frequent_rel_spin.setValue(15) self.assertListEqual(dialog.get_merge_attributes(), [])