Exemple #1
0
    def test_selected_backend(self, mocked_backends: mock.Mock):
        b1, b2 = mock.Mock(), mock.Mock()
        b1.display_name = "B1"
        b2.display_name = "B2"
        mocked_backends.return_value = [b1, b2]

        widget = self.create_widget(OWSql)
        self.assertEqual(widget.backendcombo.currentText(), "B1")

        simulate.combobox_activate_index(widget.backendcombo, 1)
        self.assertEqual(widget.backendcombo.currentText(), "B2")

        settings = widget.settingsHandler.pack_data(widget)
        widget = self.create_widget(OWSql, stored_settings=settings)
        self.assertEqual(widget.backendcombo.currentText(), "B2")

        settings = widget.settingsHandler.pack_data(widget)
        settings["selected_backend"] = "B3"
        widget = self.create_widget(OWSql, stored_settings=settings)
        self.assertEqual(widget.backendcombo.currentText(), "B1")

        mocked_backends.return_value = []
        settings = widget.settingsHandler.pack_data(widget)
        widget = self.create_widget(OWSql, stored_settings=settings)
        self.assertEqual(widget.backendcombo.currentText(), "")
Exemple #2
0
 def test_nans(self):
     """Widget does not crash with nans"""
     self.send_signal(self.widget.Inputs.data, self.heart_disease)
     self.assertIsNotNone(self.get_output(self.widget.Outputs.inliers))
     simulate.combobox_activate_index(self.widget.method_combo,
                                      self.widget.Covariance)
     self.assertIsNotNone(self.get_output(self.widget.Outputs.inliers))
     self.assertFalse(self.widget.Error.singular_cov.is_shown())
 def test_datasets(self):
     self.widget.controls.show_strip_plot.setChecked(True)
     self.widget.controls.show_rug_plot.setChecked(True)
     for ds in datasets.datasets():
         self.send_signal(self.widget.Inputs.data, ds)
         for i in range(3):
             cb = self.widget.controls.scale_index
             simulate.combobox_activate_index(cb, i)
Exemple #4
0
 def test_methods(self):
     self.send_signal(self.widget.Inputs.data, self.data)
     method_cb = self.widget.controls.method_index
     for i, (cls, _, _) in enumerate(LearnerItemModel.LEARNERS):
         if cls is None:
             continue
         simulate.combobox_activate_index(method_cb, i)
         self.widget.apply_button.button.click()
         self.assertIsInstance(self.widget.learner, cls)
 def test_scoring_method_control(self):
     self._restore_annotation_functions()
     self.send_signal(self.widget.Inputs.genes, self.genes)
     self.send_signal(self.widget.Inputs.data, self.data)
     self.wait_until_stop_blocking(wait=TIMEOUT)
     output1 = self.get_output(self.widget.Outputs.annotated_data)
     cbox = self.widget.controls.scoring_method
     simulate.combobox_activate_index(cbox, 2)
     self.widget.run_button.click()
     self.wait_until_stop_blocking(wait=TIMEOUT)
     output2 = self.get_output(self.widget.Outputs.annotated_data)
     np.testing.assert_array_equal(output1.X, output2.X)
     np.testing.assert_array_equal(output1.Y, output2.Y)
     self._patch_annotation_functions()
    def test_color_by_cluster(self):
        self._restore_annotation_functions()
        self.send_signal(self.widget.Inputs.genes, self.genes)
        self.send_signal(self.widget.Inputs.data, self.data)
        self.wait_until_stop_blocking(wait=TIMEOUT)
        self.assertTrue(self.widget.controls.attr_color.isEnabled())

        simulate.combobox_activate_index(self.widget.controls.attr_color, 0)
        is_grey = [brush.color().name() == "#808080" for brush in self.widget.graph.scatterplot_item.data['brush']]
        self.assertTrue(all(is_grey))
        self.widget.controls.color_by_cluster.click()
        self.assertFalse(self.widget.controls.attr_color.isEnabled())
        is_not_grey = [brush.color().name() != "#808080" for brush in self.widget.graph.scatterplot_item.data['brush']]
        self.assertTrue(any(is_not_grey))
        self._patch_annotation_functions()
Exemple #7
0
 def test_statistical_test_control(self):
     self._restore_annotation_functions()
     self.send_signal(self.widget.Inputs.genes, self.genes)
     self.send_signal(self.widget.Inputs.data, self.data)
     self.wait_until_finished(timeout=TIMEOUT)
     output1 = self.get_output(self.widget.Outputs.annotated_data)
     cbox = self.widget.controls.statistical_test
     simulate.combobox_activate_index(cbox, 1)
     self.widget.run_button.click()
     self.wait_until_finished(timeout=TIMEOUT)
     output2 = self.get_output(self.widget.Outputs.annotated_data)
     np.testing.assert_array_equal(output1.X, output2.X)
     np.testing.assert_array_equal(output1.Y, output2.Y)
     self.assertFalse((output1.metas == output2.metas).all())
     self._patch_annotation_functions()
Exemple #8
0
    def test_xgb_params(self):
        simulate.combobox_activate_index(self.widget.controls.method_index, 1)
        editor = self.widget.editor
        controls = editor.controls
        reg_slider = controls.lambda_index

        self.parameters = [
            ParameterMapping("n_estimators", controls.n_estimators, [500, 10]),
            ParameterMapping("learning_rate", controls.learning_rate),
            ParameterMapping("max_depth", controls.max_depth),
            ParameterMapping("reg_lambda",
                             reg_slider,
                             values=[editor.LAMBDAS[0], editor.LAMBDAS[-1]],
                             getter=lambda: editor.LAMBDAS[reg_slider.value()],
                             setter=lambda val: reg_slider.setValue(
                                 editor.LAMBDAS.index(val))),
        ]
        self.test_parameters()
Exemple #9
0
 def test_output_empirical_covariance(self):
     simulate.combobox_activate_index(self.widget.method_combo,
                                      self.widget.Covariance)
     self.send_signal(self.widget.Inputs.data, self.iris)
     inliers = self.get_output(self.widget.Outputs.inliers)
     outliers = self.get_output(self.widget.Outputs.outliers)
     data = self.get_output(self.widget.Outputs.data)
     self.assertEqual(len(inliers), 135)
     self.assertEqual(len(outliers), 15)
     self.assertEqual(len(data), 150)
     self.assertEqual(len(inliers.domain.attributes), 4)
     self.assertEqual(len(outliers.domain.attributes), 4)
     self.assertEqual(len(data.domain.attributes), 4)
     self.assertEqual(len(inliers.domain.class_vars), 1)
     self.assertEqual(len(outliers.domain.class_vars), 1)
     self.assertEqual(len(data.domain.class_vars), 1)
     self.assertEqual(len(inliers.domain.metas), 0)
     self.assertEqual(len(outliers.domain.metas), 0)
     self.assertEqual(len(data.domain.metas), 2)
     self.assertEqual([m.name for m in data.domain.metas],
                      ["Outlier", "Mahalanobis"])
Exemple #10
0
 def test_axis_controls(self):
     self.send_signal(self.widget.Inputs.corpus, self.corpus)
     simulate.combobox_activate_index(self.widget.controls.attr_y, 0)
     self.assertTrue(self.widget.Warning.same_axis_features.is_shown())
     self.send_signal(self.widget.Inputs.corpus, None)
     self.assertFalse(self.widget.Warning.same_axis_features.is_shown())