def test_missing_values(self): network = self._read_network("airtraffic.net") self.send_signal(self.widget.Inputs.network, network) fname = network.nodes.domain.metas[-1].name simulate.combobox_activate_item(self.widget.controls.feature, fname) self.assertIsInstance(self.get_output(self.widget.Outputs.network), Network)
def setUp(self) -> None: self.test_data_path = os.path.join(os.path.dirname(__file__), 'datasets') # create widgets self.as_survival = self.create_widget(OWAsSurvivalData) self.widget = self.create_widget(OWKaplanMeier) # handle survival data self.send_signal(self.as_survival.Inputs.data, Table(f'{self.test_data_path}/toy_example.tab')) simulate.combobox_activate_item( self.as_survival.controls.time_var, self.as_survival._data.columns.Time.name) simulate.combobox_activate_item( self.as_survival.controls.event_var, self.as_survival._data.columns.Event.name) self.send_signal(self.widget.Inputs.data, self.get_output(self.as_survival.Outputs.data)) # check survival data time_var, event_var = get_survival_endpoints(self.widget.data.domain) self.assertEqual(time_var.name, 'Time') self.assertEqual(event_var.name, 'Event') self.assertIn(time_var, self.widget.data.domain.class_vars) self.assertIn(event_var, self.widget.data.domain.class_vars) # check if missing data detected self.assertTrue(self.widget.Warning.missing_values_detected.is_shown()) self.widget.auto_commit = True # If we don't do this function ViewBox.mapSceneToView fails with num py.linalg.LinAlgError: Singular matrix vb = self.widget.graph.getViewBox() vb.resize(200, 200)
def test_group_axis(self): group_axis = self.widget.graph.group_axis annot_axis = self.widget.graph.getAxis('bottom') controls = self.widget.controls self.send_signal(self.widget.Inputs.data, self.data) self.assertFalse(group_axis.isVisible()) self.assertTrue(annot_axis.isVisible()) simulate.combobox_activate_item(controls.group_var, "iris") self.assertTrue(group_axis.isVisible()) self.assertFalse(annot_axis.isVisible()) simulate.combobox_activate_item(controls.annot_var, "iris") self.assertTrue(group_axis.isVisible()) self.assertTrue(annot_axis.isVisible()) self.send_signal(self.widget.Inputs.data, None) self.assertFalse(group_axis.isVisible()) self.assertFalse(annot_axis.isVisible())
def test_scoring_methods(self): # speed-up the test execution def dummy_embedding(tokens, language, progress_callback=None): return tfidf_keywords(tokens, progress_callback) methods = [("TF-IDF", Mock(wraps=tfidf_keywords)), ("YAKE!", Mock(wraps=yake_keywords)), ("Rake", Mock(wraps=rake_keywords)), ("Embedding", Mock(side_effect=dummy_embedding))] with patch.object(ScoringMethods, "ITEMS", methods) as m: scores = {"TF-IDF", "YAKE!", "Rake", "Embedding"} settings = {"selected_scoring_methods": scores} widget = self.create_widget(OWKeywords, stored_settings=settings) cb = widget.controls.yake_lang_index simulate.combobox_activate_item(cb, "Arabic") cb = widget.controls.rake_lang_index simulate.combobox_activate_item(cb, "Finnish") cb = widget.controls.embedding_lang_index simulate.combobox_activate_item(cb, "Kazakh") self.send_signal(widget.Inputs.corpus, self.corpus, widget=widget) self.wait_until_finished(widget=widget, timeout=10000) out = self.get_output(widget.Outputs.words, widget=widget) self.assertEqual(scores, {a.name for a in out.domain.attributes}) m[0][1].assert_called_once() m[1][1].assert_called_once() m[2][1].assert_called_once() m[3][1].assert_called_once() self.assertEqual(m[1][1].call_args[1]["language"], "Arabic") self.assertEqual(m[2][1].call_args[1]["language"], "Finnish") self.assertEqual(m[3][1].call_args[1]["language"], "Kazakh")
def test_saved_workflow(self): self.send_signal(self.widget.Inputs.data, self.heart) indices = self._select_data() self.assertSelectedIndices(indices, data=self.heart) chol = self.heart.domain["cholesterol"] chest = self.heart.domain["chest pain"] gender = self.heart.domain["gender"] thal = self.heart.domain["thal"] controls = self.widget.controls simulate.combobox_activate_item(controls.selected_var, chol.name) simulate.combobox_activate_item(controls.group_var, chest.name) simulate.combobox_activate_item(controls.annot_var, gender.name) simulate.combobox_activate_item(controls.color_var, thal.name) settings = self.widget.settingsHandler.pack_data(self.widget) w = self.create_widget(OWBarPlot, stored_settings=settings) self.send_signal(w.Inputs.data, self.heart, widget=w) self.assertEqual(w.controls.selected_var.currentText(), chol.name) self.assertEqual(w.controls.group_var.currentText(), chest.name) self.assertEqual(w.controls.annot_var.currentText(), gender.name) self.assertEqual(w.controls.color_var.currentText(), thal.name) self.assertSelectedIndices(indices, data=self.heart, widget=w)
def test_kernels(self): self.send_signal(self.widget.Inputs.data, self.data) kernel_combo = self.widget.controls.kernel_index for kernel in self.widget.KERNEL_LABELS[1:]: simulate.combobox_activate_item(kernel_combo, kernel)
def test_attr_label_metas(self): self.send_signal(self.widget.Inputs.data, self.data) self.wait_until_stop_blocking() simulate.combobox_activate_item(self.widget.controls.attr_label, self.data.domain[-1].name)
def test_attr_label_metas(self): self.send_signal(self.widget.Inputs.corpus, self.corpus) self.wait_until_finished() simulate.combobox_activate_item(self.widget.controls.attr_label, self.corpus.domain[-1].name)