コード例 #1
0
 def test_some_failed(self):
     simulate.combobox_activate_index(self.widget.controls.aggregator, 1)
     self.send_signal("Corpus", self.corpus)
     self.wait_until_finished()
     result = self.get_output(self.widget.Outputs.new_corpus)
     self.assertGreater(len(self.corpus), len(result))
     self.assertTrue(self.widget.Warning.unsuccessful_embeddings.is_shown())
コード例 #2
0
    def test_annotation_combo(self):
        self.assertEqual(self.widget._annot_combo.currentText(), "None")
        self.assertEqual(self.widget._annot_combo.count(), 2)

        self.send_signal(self.widget.Inputs.model, self.rf_reg)
        self.assertEqual(self.widget._annot_combo.currentText(), "None")
        self.assertEqual(self.widget._annot_combo.count(), 2)

        self.send_signal(self.widget.Inputs.background_data, self.heart)
        self.send_signal(self.widget.Inputs.data, self.heart[:5])
        self.send_signal(self.widget.Inputs.model, self.rf_cls)
        self.assertEqual(self.widget._annot_combo.currentText(), "None")
        self.assertEqual(self.widget._annot_combo.count(), 18)
        self.wait_until_finished()

        self.widget.graph.set_axis = Mock()
        simulate.combobox_activate_index(self.widget._annot_combo, 3)
        args = ([[(0, "0"), (1, "0"), (2, "0"), (3, "1"), (4, "1")]], )
        self.widget.graph.set_axis.assert_called_once_with(*args)

        self.widget.graph.set_axis.reset_mock()
        simulate.combobox_activate_index(self.widget._annot_combo, 1)
        args = ([[(0, "4"), (1, "5"), (2, "1"), (3, "3"), (4, "2")]], )
        self.widget.graph.set_axis.assert_called_once_with(*args)

        self.send_signal(self.widget.Inputs.data, None)
        self.assertEqual(self.widget._annot_combo.currentText(), "None")
        self.assertEqual(self.widget._annot_combo.count(), 2)
コード例 #3
0
    def test_select_feature(self):
        """Test feature selection"""
        feature_combo = self.widget.controls.feature
        self.send_signal(self.widget.Inputs.data, self.data_cont)
        time.sleep(0.1)
        self.process_events()
        self.assertEqual(self.widget.vizrank.rank_model.rowCount(), 6)
        self.assertListEqual(["petal length", "petal width"],
                             [a.name for a in self.get_output(
                                 self.widget.Outputs.features)])

        simulate.combobox_activate_index(feature_combo, 1)
        time.sleep(0.1)
        self.process_events()
        self.assertEqual(self.widget.vizrank.rank_model.rowCount(), 3)
        self.assertListEqual(["petal length", "sepal length"],
                             [a.name for a in self.get_output(
                                 self.widget.Outputs.features)])

        simulate.combobox_activate_index(feature_combo, 0)
        time.sleep(0.1)
        self.process_events()
        self.assertEqual(self.widget.vizrank.rank_model.rowCount(), 6)
        self.assertListEqual(["petal length", "sepal length"],
                             [a.name for a in self.get_output(
                                 self.widget.Outputs.features)])
コード例 #4
0
 def test_optimization_reset(self):
     self.test_optimization()
     init = self.widget.controls.initialization
     simulate.combobox_activate_index(init, 0)
     self.assertEqual(self.widget.run_button.text(), "Stop")
     simulate.combobox_activate_index(init, 1)
     self.assertEqual(self.widget.run_button.text(), "Stop")
コード例 #5
0
ファイル: test_owmosaic.py プロジェクト: randxie/orange3
    def test_color_combo(self):
        """
        Color combo enables to select class values. Checks if class values
        are selected correctly.
        GH-2133
        GH-2036
        """
        RESULTS = [[0, 2, 6], [0, 3, 10], [0, 4, 11],
                   [1, 2, 6], [1, 3, 7], [1, 4, 7]]
        table = Table("titanic")
        self.send_signal(self.widget.Inputs.data, table)
        color_vars = ["(Pearson residuals)"] + [str(x) for x in table.domain.variables]
        for i, cv in enumerate(color_vars):
            idx = self.widget.cb_attr_color.findText(cv)
            self.widget.cb_attr_color.setCurrentIndex(idx)
            color = self.widget.cb_attr_color.currentText()
            simulate.combobox_activate_index(self.widget.controls.variable_color, idx, 0)
            discrete_data = self.widget.discrete_data

            if color == "(Pearson residuals)":
                self.widget.interior_coloring = self.widget.PEARSON
                self.assertIsNone(discrete_data.domain.class_var)
            else:
                self.widget.interior_coloring = self.widget.CLASS_DISTRIBUTION
                self.assertEqual(color, str(discrete_data.domain.class_var))

            output = self.get_output("Data")
            self.assertEqual(output.domain.class_var, table.domain.class_var)

            for ma in range(2, 5):
                self.vizrank.max_attrs = ma
                sc = self.vizrank.state_count()
                self.assertTrue([i > 0, ma, sc] in RESULTS)
コード例 #6
0
    def test_missing_class_value(self):
        iris = Table("iris")
        iris_set_ver = iris[:100]
        target_cb = self.widget.controls.target_class_index

        lr = LogisticRegressionLearner()(iris)
        self.send_signal(self.widget.Inputs.classifier, lr)
        simulate.combobox_activate_index(target_cb, 2)
        self.assertEqual(target_cb.currentIndex(), 2)
        self.assertEqual(target_cb.count(), 3)

        lr = LogisticRegressionLearner()(iris_set_ver)
        self.send_signal(self.widget.Inputs.classifier, lr)
        self.assertEqual(target_cb.currentIndex(), 0)
        self.assertEqual(target_cb.count(), 2)

        nb = NaiveBayesLearner()(iris)
        self.send_signal(self.widget.Inputs.classifier, nb)
        simulate.combobox_activate_index(target_cb, 2)
        self.assertEqual(target_cb.currentIndex(), 2)
        self.assertEqual(target_cb.count(), 3)

        nb = NaiveBayesLearner()(iris_set_ver)
        self.send_signal(self.widget.Inputs.classifier, nb)
        self.assertEqual(target_cb.currentIndex(), 2)
        self.assertEqual(target_cb.count(), 3)
コード例 #7
0
    def test_data_aggregation_change_attr(self):
        """
        With this test we check whether discrete attribute for aggregation changes correctly
        """
        w = self.widget

        # add additional discrete attribute to data
        iris = Table(Domain(self.iris.domain.attributes,
                            self.iris.domain.class_var,
                            metas=[DiscreteVariable("a", values=["a", "b"])]),
                     self.iris.X,
                     self.iris.Y,
                     metas=[[0]] * 100 + [[1]] * 50)

        # send iris - dataset where analysis should pass
        self.send_signal(w.Inputs.data, iris)
        cbox = self.widget.controls.cluster_var
        simulate.combobox_activate_index(cbox, 0)

        self.assertEqual(3, len(w.clusters_unordered))
        self.assertTupleEqual((3, 4), w.aggregated_data.shape)

        cbox = self.widget.controls.cluster_var
        simulate.combobox_activate_index(cbox, 2)
        self.assertEqual(2, len(w.clusters_unordered))
        self.assertTupleEqual((2, 4), w.aggregated_data.shape)
コード例 #8
0
ファイル: test_owfreeviz.py プロジェクト: PrimozGodec/orange3
 def test_optimization_reset(self):
     self.test_optimization()
     init = self.widget.controls.initialization
     simulate.combobox_activate_index(init, 0)
     self.assertEqual(self.widget.run_button.text(), "Stop")
     simulate.combobox_activate_index(init, 1)
     self.assertEqual(self.widget.run_button.text(), "Stop")
コード例 #9
0
ファイル: test_owmosaic.py プロジェクト: wuzequn1991/orange3
    def test_attr_range(self):
        vizrank = self.widget.vizrank
        data = Table("iris.tab")
        domain = data.domain

        self.send_signal(self.widget.Inputs.data, data)
        for vizrank.max_attrs, rge in (
                (0, (1, 1)), (1, (2, 2)), (2, (3, 3)), (3, (4, 4)),
                (4, (1, 2)), (5, (1, 3)), (6, (1, 4))):
            self.assertEqual(vizrank.attr_range(), rge,
                             f"failed at max_attrs={vizrank.max_attrs}")

        reduced = data.transform(Domain(domain.attributes[:2], domain.class_var))
        self.send_signal(self.widget.Inputs.data, reduced)
        for vizrank.max_attrs, rge in (
                (0, (1, 1)), (1, (2, 2)), (2, (3, 2)), (3, (4, 2)),
                (4, (1, 2)), (5, (1, 2)), (6, (1, 2))):
            self.assertEqual(vizrank.attr_range(), rge,
                             f"failed at max_attrs={vizrank.max_attrs}")
            self.assertIs(vizrank.state_count() == 0, rge[0] > rge[1])

        simulate.combobox_activate_index(self.widget.controls.variable_color, 0)
        for vizrank.max_attrs, rge in (
                (0, (2, 2)), (1, (2, 2)), (2, (3, 3)), (3, (4, 3)),
                (4, (2, 2)), (5, (2, 3)), (6, (2, 3))):
            self.assertEqual(vizrank.attr_range(), rge,
                             f"failed at max_attrs={vizrank.max_attrs}")
            self.assertIs(vizrank.state_count() == 0, rge[0] > rge[1])
コード例 #10
0
    def test_settings(self):
        self.send_signal(self.widget.Inputs.data, self.heart[:10])
        self.send_signal(self.widget.Inputs.background_data, self.heart)
        self.send_signal(self.widget.Inputs.model, self.rf_cls)

        simulate.combobox_activate_index(self.widget._target_combo, 1)
        simulate.combobox_activate_index(self.widget._order_combo, 4)
        simulate.combobox_activate_index(self.widget._annot_combo, 3)

        self.send_signal(self.widget.Inputs.data, self.housing[:10])
        self.send_signal(self.widget.Inputs.background_data, self.housing)
        self.send_signal(self.widget.Inputs.model, self.rf_reg)

        self.assertEqual(self.widget.target_index, -1)
        self.assertEqual(self.widget.order_index, 0)
        self.assertEqual(self.widget.annot_index, 0)

        simulate.combobox_activate_index(self.widget._order_combo, 6)
        simulate.combobox_activate_index(self.widget._annot_combo, 7)

        self.send_signal(self.widget.Inputs.data, self.heart[:10])
        self.assertEqual(self.widget.target_index, 1)
        self.assertEqual(self.widget.order_index, 4)
        self.assertEqual(self.widget.annot_index, 3)

        self.send_signal(self.widget.Inputs.data, self.housing[:10])
        self.assertEqual(self.widget.target_index, -1)
        self.assertEqual(self.widget.order_index, 6)
        self.assertEqual(self.widget.annot_index, 7)
コード例 #11
0
    def test_color_combo(self):
        """
        Color combo enables to select class values. Checks if class values
        are selected correctly.
        GH-2133
        GH-2036
        """
        RESULTS = [[0, 2, 6], [0, 3, 10], [0, 4, 11], [1, 2, 6], [1, 3, 7],
                   [1, 4, 7]]
        table = Table("titanic")
        self.send_signal(self.widget.Inputs.data, table)
        color_vars = ["(Pearson residuals)"
                      ] + [str(x) for x in table.domain.variables]
        for i, cv in enumerate(color_vars):
            idx = self.widget.cb_attr_color.findText(cv)
            self.widget.cb_attr_color.setCurrentIndex(idx)
            color = self.widget.cb_attr_color.currentText()
            simulate.combobox_activate_index(
                self.widget.controls.variable_color, idx, 0)
            discrete_data = self.widget.discrete_data

            if color == "(Pearson residuals)":
                self.assertIsNone(discrete_data.domain.class_var)
            else:
                self.assertEqual(color, str(discrete_data.domain.class_var))

            output = self.get_output("Data")
            self.assertEqual(output.domain.class_var, table.domain.class_var)

            for ma in range(2, 5):
                self.vizrank.max_attrs = ma
                sc = self.vizrank.state_count()
                self.assertTrue([i > 0, ma, sc] in RESULTS)
コード例 #12
0
    def test_select_feature(self):
        """Test feature selection"""
        feature_combo = self.widget.controls.feature
        self.send_signal(self.widget.Inputs.data, self.data_cont)
        self.wait_until_finished()
        self.process_events()
        self.assertEqual(self.widget.vizrank.rank_model.rowCount(), 6)
        self.assertListEqual(["petal length", "petal width"],
                             [a.name for a in self.get_output(
                                 self.widget.Outputs.features)])

        simulate.combobox_activate_index(feature_combo, 1)
        self.wait_until_finished()
        self.process_events()
        self.assertEqual(self.widget.vizrank.rank_model.rowCount(), 3)
        self.assertListEqual(["petal length", "sepal length"],
                             [a.name for a in self.get_output(
                                 self.widget.Outputs.features)])

        simulate.combobox_activate_index(feature_combo, 0)
        self.wait_until_finished()
        self.process_events()
        self.assertEqual(self.widget.vizrank.rank_model.rowCount(), 6)
        self.assertListEqual(["petal length", "sepal length"],
                             [a.name for a in self.get_output(
                                 self.widget.Outputs.features)])
コード例 #13
0
 def test_select_feature_against_heuristic(self):
     """Never use heuristic if feature is selected"""
     feature_combo = self.widget.controls.feature
     self.send_signal(self.widget.Inputs.data, self.data_cont)
     simulate.combobox_activate_index(feature_combo, 2)
     time.sleep(0.1)
     self.process_events()
     self.assertEqual(self.widget.vizrank.rank_model.rowCount(), 3)
コード例 #14
0
 def test_output_summary(self):
     cbox = self.widget.controls.node_type
     simulate.combobox_activate_index(cbox, 0)
     output_summary = self.widget.info.set_output_summary = Mock()
     self.send_signal("Corpus", self.corpus)
     self.wait_until_finished()
     summary = "Undirected network with 9 nodes and 26 edges."
     output_summary.assert_called_with("9 / 26", summary)
コード例 #15
0
 def test_disabled(self):
     cbox = self.widget.controls.node_type
     simulate.combobox_activate_index(cbox, 0)
     self.assertFalse(self.widget.controls.window_size.isEnabled())
     self.assertFalse(self.widget.controls.freq_threshold.isEnabled())
     simulate.combobox_activate_index(cbox, 1)
     self.assertTrue(self.widget.controls.window_size.isEnabled())
     self.assertTrue(self.widget.controls.freq_threshold.isEnabled())
コード例 #16
0
 def test_select_feature_against_heuristic(self):
     """Never use heuristic if feature is selected"""
     feature_combo = self.widget.controls.feature
     self.send_signal(self.widget.Inputs.data, self.data_cont)
     simulate.combobox_activate_index(feature_combo, 2)
     self.wait_until_finished()
     self.process_events()
     self.assertEqual(self.widget.vizrank.rank_model.rowCount(), 3)
コード例 #17
0
ファイル: test_owcurvefit.py プロジェクト: sckevmit/orange3
 def __init_widget(self, data=None, widget=None):
     if data is None:
         data = self.housing
     if widget is None:
         widget = self.widget
     self.send_signal(widget.Inputs.data, data, widget=widget)
     widget._OWCurveFit__param_widget._ParametersWidget__button.click()
     widget._OWCurveFit__expression_edit.setText("p1 + ")
     simulate.combobox_activate_index(widget.controls._feature, 1)
     widget.apply_button.button.click()
コード例 #18
0
 def test_vizrank_receives_manual_change(self, on_manual_change):
     # Recreate the widget so the patch kicks in
     self.widget = self.create_widget(OWScatterPlot)
     data = Table("iris.tab")
     self.send_signal(self.widget.Inputs.data, data)
     model = self.widget.controls.attr_x.model()
     self.widget.attr_x = model[0]
     self.widget.attr_y = model[1]
     simulate.combobox_activate_index(self.widget.controls.attr_x, 2)
     self.assertIs(self.widget.attr_x, model[2])
     on_manual_change.assert_called_with(model[2], model[1])
コード例 #19
0
 def test_regression_lines_appear(self):
     self.widget.graph.controls.show_reg_line.setChecked(True)
     self.assertEqual(len(self.widget.graph.reg_line_items), 0)
     self.send_signal(self.widget.Inputs.data, self.data)
     self.assertEqual(len(self.widget.graph.reg_line_items), 4)
     simulate.combobox_activate_index(self.widget.controls.attr_color, 0)
     self.assertEqual(len(self.widget.graph.reg_line_items), 1)
     data = self.data.copy()
     data[:, 0] = np.nan
     self.send_signal(self.widget.Inputs.data, data)
     self.assertEqual(len(self.widget.graph.reg_line_items), 0)
コード例 #20
0
 def test_vizrank_receives_manual_change(self, on_manual_change):
     # Recreate the widget so the patch kicks in
     self.widget = self.create_widget(OWScatterPlot)
     data = Table("iris.tab")
     self.send_signal(self.widget.Inputs.data, data)
     model = self.widget.controls.attr_x.model()
     self.widget.attr_x = model[0]
     self.widget.attr_y = model[1]
     simulate.combobox_activate_index(self.widget.controls.attr_x, 2)
     self.assertIs(self.widget.attr_x, model[2])
     on_manual_change.assert_called_with(model[2], model[1])
コード例 #21
0
 def test_regression_lines_appear(self):
     self.widget.graph.controls.show_reg_line.setChecked(True)
     self.assertEqual(len(self.widget.graph.reg_line_items), 0)
     self.send_signal(self.widget.Inputs.data, self.data)
     self.assertEqual(len(self.widget.graph.reg_line_items), 4)
     simulate.combobox_activate_index(self.widget.controls.attr_color, 0)
     self.assertEqual(len(self.widget.graph.reg_line_items), 1)
     data = self.data.copy()
     data[:, 0] = np.nan
     self.send_signal(self.widget.Inputs.data, data)
     self.assertEqual(len(self.widget.graph.reg_line_items), 0)
コード例 #22
0
ファイル: test_owdbscan.py プロジェクト: qeryq/SFECOMLA
    def test_metric_changed(self):
        w = self.widget

        self.send_signal(w.Inputs.data, self.iris)
        cbox = w.controls.metric_idx
        simulate.combobox_activate_index(cbox, 2)

        output = self.get_output(w.Outputs.annotated_data)
        self.assertIsNotNone(output)
        self.assertEqual(len(self.iris), len(output))
        self.assertTupleEqual(self.iris.X.shape, output.X.shape)
        self.assertTupleEqual(self.iris.Y.shape, output.Y.shape)
コード例 #23
0
    def test_not_image_data_attributes(self):
        """
        Test change of the attributes when data not images
        """
        w = self.widget
        table = Table("iris")
        self.send_signal(w.Inputs.images, table)
        self.wait_until_stop_blocking()

        # it should jut not chrash
        cbox = self.widget.controls.cb_embedder_current_id
        simulate.combobox_activate_index(cbox, 3)
コード例 #24
0
 def test_vizrank_receives_manual_change(self, on_manual_change):
     # Recreate the widget so the patch kicks in
     self.widget = self.create_widget(OWMosaicDisplay)
     data = Table("iris.tab")
     self.send_signal(self.widget.Inputs.data, data)
     self.widget.variable1 = data.domain[0]
     self.widget.variable2 = data.domain[1]
     simulate.combobox_activate_index(self.widget.controls.variable2, 3)
     self.assertEqual(self.widget.variable2, data.domain[2])
     call_args = on_manual_change.call_args[0][0]
     self.assertEqual(len(call_args), 2)
     self.assertEqual(call_args[0].name, data.domain[0].name)
     self.assertEqual(call_args[1].name, data.domain[2].name)
コード例 #25
0
ファイル: test_owsieve.py プロジェクト: biolab/orange3
 def test_vizrank_receives_manual_change(self, on_manual_change):
     # Recreate the widget so the patch kicks in
     self.widget = self.create_widget(OWSieveDiagram)
     data = Table("iris.tab")
     self.send_signal(self.widget.Inputs.data, data)
     model = self.widget.controls.attr_x.model()
     self.widget.attr_x = model[2]
     self.widget.attr_y = model[3]
     simulate.combobox_activate_index(self.widget.controls.attr_x, 4)
     call_args = on_manual_change.call_args[0]
     self.assertEqual(len(call_args), 2)
     self.assertEqual(call_args[0].name, data.domain[2].name)
     self.assertEqual(call_args[1].name, data.domain[1].name)
コード例 #26
0
 def test_vizrank_receives_manual_change(self, on_manual_change):
     # Recreate the widget so the patch kicks in
     self.widget = self.create_widget(OWSieveDiagram)
     data = Table("iris.tab")
     self.send_signal(self.widget.Inputs.data, data)
     model = self.widget.controls.attr_x.model()
     self.widget.attr_x = model[2]
     self.widget.attr_y = model[3]
     simulate.combobox_activate_index(self.widget.controls.attr_x, 4)
     call_args = on_manual_change.call_args[0]
     self.assertEqual(len(call_args), 2)
     self.assertEqual(call_args[0].name, data.domain[2].name)
     self.assertEqual(call_args[1].name, data.domain[1].name)
コード例 #27
0
ファイル: test_owmosaic.py プロジェクト: PrimozGodec/orange3
 def test_vizrank_receives_manual_change(self, on_manual_change):
     # Recreate the widget so the patch kicks in
     self.widget = self.create_widget(OWMosaicDisplay)
     data = Table("iris.tab")
     self.send_signal(self.widget.Inputs.data, data)
     self.widget.variable1 = data.domain[0]
     self.widget.variable2 = data.domain[1]
     simulate.combobox_activate_index(self.widget.controls.variable2, 3)
     self.assertEqual(self.widget.variable2, data.domain[2])
     call_args = on_manual_change.call_args[0][0]
     self.assertEqual(len(call_args), 2)
     self.assertEqual(call_args[0].name, data.domain[0].name)
     self.assertEqual(call_args[1].name, data.domain[2].name)
コード例 #28
0
    def test_colored_circles_with_constant(self):
        domain = self.iris.domain
        self.widget.pie_charts = False

        with self.iris.unlocked():
            self.iris.X[:, 0] = 1
        self.send_signal(self.widget.Inputs.data, self.iris)
        attr0 = domain.attributes[0]

        combo = self.widget.controls.attr_color
        simulate.combobox_activate_index(combo, combo.model().indexOf(attr0))
        self.assertIsNotNone(self.widget.colors)
        self.assertFalse(self.widget.Warning.no_defined_colors.is_shown())

        dom1 = Domain(domain.attributes[1:], domain.class_var,
                      domain.attributes[:1])
        iris = self.iris.transform(dom1).copy()
        with iris.unlocked(iris.metas):
            iris.metas[::2, 0] = np.nan
        self.send_signal(self.widget.Inputs.data, iris)
        simulate.combobox_activate_index(combo, combo.model().indexOf(attr0))
        self.assertIsNotNone(self.widget.colors)
        self.assertFalse(self.widget.Warning.no_defined_colors.is_shown())

        iris = self.iris.transform(dom1).copy()
        with iris.unlocked(iris.metas):
            iris.metas[:, 0] = np.nan
        self.send_signal(self.widget.Inputs.data, iris)
        simulate.combobox_activate_index(combo, combo.model().indexOf(attr0))
        self.assertIsNone(self.widget.colors)
        self.assertTrue(self.widget.Warning.no_defined_colors.is_shown())

        simulate.combobox_activate_index(combo, 0)
        self.assertIsNone(self.widget.colors)
        self.assertFalse(self.widget.Warning.no_defined_colors.is_shown())
コード例 #29
0
    def test_negative_values_input_log_link(self):
        """Check batch normalization for data set with negative values"""
        data = Table("iris")
        data[0, 3] = -1
        self.send_signal(self.widget.Inputs.data, data)
        self.widget.model.item(0).setCheckState(Qt.Checked)
        link_method = self.widget.controls.link_method
        simulate.combobox_activate_index(link_method, LinkMethod.LOG_LINK)

        self.assertTrue(self.widget.Warning.negative_values.is_shown())
        output = self.get_output(self.widget.Outputs.data)
        np.testing.assert_array_equal(output.X, data.X)

        self.send_signal(self.widget.Inputs.data, None)
        self.assertFalse(self.widget.Warning.negative_values.is_shown())
コード例 #30
0
ファイル: test_owcurvefit.py プロジェクト: sckevmit/orange3
    def test_function_combo(self):
        combo = self.widget.controls._function
        model = combo.model()
        self.assertEqual(model.rowCount(), 46)
        self.assertEqual(combo.currentText(), "Select Function")

        self.send_signal(self.widget.Inputs.data, self.housing)
        self.assertEqual(model.rowCount(), 46)
        self.assertEqual(combo.currentText(), "Select Function")
        simulate.combobox_activate_index(combo, 1)
        self.assertEqual(self.widget._OWCurveFit__expression_edit.text(),
                         "abs()")

        self.send_signal(self.widget.Inputs.data, None)
        self.assertEqual(model.rowCount(), 46)
        self.assertEqual(combo.currentText(), "Select Function")
コード例 #31
0
ファイル: test_owcurvefit.py プロジェクト: sckevmit/orange3
    def test_parameters_combo(self):
        combo = self.widget.controls._parameter
        model = combo.model()

        self.send_signal(self.widget.Inputs.data, self.housing)
        self.assertEqual(model.rowCount(), 1)
        self.assertEqual(combo.currentText(), "Select Parameter")
        self.__add_button.click()
        self.assertEqual(model.rowCount(), 2)
        self.assertEqual(combo.currentText(), "Select Parameter")
        simulate.combobox_activate_index(combo, 1)
        self.assertEqual(self.widget._OWCurveFit__expression_edit.text(), "p1")

        self.send_signal(self.widget.Inputs.data, None)
        self.assertEqual(model.rowCount(), 1)
        self.assertEqual(combo.currentText(), "Select Parameter")
コード例 #32
0
    def test_group_by_changed(self):
        """
        Test changing the group by parameter (Cell Type, Function)
        """
        # group by cell type
        simulate.combobox_activate_index(self.widget.controls.selected_root_attribute, 0)

        human_rows = self.widget.data.get_column_view("Organism")[0] == "Human"
        cell_types = np.unique(self.widget.data.get_column_view("Cell Type")[0][human_rows])
        model = self.widget.available_markers_view.model().sourceModel()
        self.assertEqual(len(cell_types), len(model.rootItem.childItems))

        # group by function
        simulate.combobox_activate_index(self.widget.controls.selected_root_attribute, 1)

        functions = np.unique(self.widget.data.get_column_view("Function")[0][human_rows])
        model = self.widget.available_markers_view.model().sourceModel()
        self.assertEqual(len(functions), len(model.rootItem.childItems))
コード例 #33
0
    def test_labels(self):
        w = self.widget

        self.send_signal("Embeddings", self.fake_embeddings)
        self.wait_until_stop_blocking()

        self.assertTrue(
            all(x.label is None for x in w.thumbnailView.grid.thumbnails))

        simulate.combobox_activate_index(w.controls.label_attr, 2)
        self.wait_until_stop_blocking()
        self.assertTrue(
            all(x.label is not None for x in w.thumbnailView.grid.thumbnails))

        # reset to no labels
        simulate.combobox_activate_index(w.controls.label_attr, 0)
        self.wait_until_stop_blocking()
        self.assertTrue(
            all(x.label is None for x in w.thumbnailView.grid.thumbnails))
コード例 #34
0
    def test_embedder_changed(self):
        """
        We will check whether embedder changes correctly.
        """
        w = self.widget
        table = load_images()

        self.assertEqual(w.cb_embedder.currentText(), "Inception v3")
        self.send_signal(w.Inputs.images, table)
        cbox = self.widget.controls.cb_embedder_current_id
        simulate.combobox_activate_index(cbox, 3)

        self.assertEqual(w.cb_embedder.currentText(), "VGG-19")

        output = self.get_output(self.widget.Outputs.embeddings)
        self.assertIsInstance(output, Table)
        self.assertEqual(len(output), len(table))
        # 4096 shows that output is really by VGG-19
        self.assertEqual(output.X.shape[1], 4096)
コード例 #35
0
ファイル: test_owmosaic.py プロジェクト: wuzequn1991/orange3
    def test_max_attr_combo_1_disabling(self):
        widget = self.widget
        vizrank = widget.vizrank
        combo = vizrank.max_attr_combo
        model = combo.model()
        enabled = Qt.ItemIsSelectable | Qt.ItemIsEnabled

        data = Table("iris.tab")
        self.send_signal(self.widget.Inputs.data, data)
        self.assertEqual(model.item(0).flags() & enabled, enabled)

        vizrank.max_attrs = 0
        simulate.combobox_activate_index(self.widget.controls.variable_color, 0)
        self.assertEqual(vizrank.max_attrs, 1)
        self.assertEqual(int(model.item(0).flags() & enabled), 0)

        simulate.combobox_activate_index(self.widget.controls.variable_color, 1)
        self.assertEqual(vizrank.max_attrs, 1)
        self.assertEqual(model.item(0).flags() & enabled, enabled)
コード例 #36
0
    def test_source_changed(self):
        """
        Test changing the source of the data.
        """
        # cell marker data
        self.assertEqual("Panglao", self.widget.db_source_cb.currentText())
        self.assertTrue(isinstance(self.widget.data, Table))
        self.assertEqual(len(self.panglao), len(self.widget.data))

        # Panglao data
        simulate.combobox_activate_index(self.widget.controls.source_index, 1)
        self.assertEqual("CellMarker", self.widget.db_source_cb.currentText())
        self.assertTrue(isinstance(self.widget.data, Table))
        self.assertEqual(len(self.cell_markers), len(self.widget.data))

        # cell marker data
        simulate.combobox_activate_index(self.widget.controls.source_index, 0)
        self.assertEqual("Panglao", self.widget.db_source_cb.currentText())
        self.assertTrue(isinstance(self.widget.data, Table))
        self.assertEqual(len(self.panglao), len(self.widget.data))
    def test_nan_plot(self):
        data = datasets.missing_data_1()
        espy = EventSpy(self.widget, OWLinearProjection.ReplotRequest)
        with excepthook_catch():
            self.send_signal(self.widget.Inputs.data, data)
            # ensure delayed replot request is processed
            if not espy.events():
                assert espy.wait(1000)

        cb_color = self.widget.controls.attr_color
        cb_size = self.widget.controls.attr_size
        cb_shape = self.widget.controls.attr_shape
        cb_jitter = self.widget.controls.jitter_value

        simulate.combobox_run_through_all(cb_color)
        simulate.combobox_run_through_all(cb_size)
        simulate.combobox_run_through_all(cb_shape)
        with excepthook_catch():
            simulate.combobox_activate_index(cb_jitter, 1, delay=1)

        data = data.copy()
        data.X[:, 0] = np.nan
        data.Y[:] = np.nan

        spy = EventSpy(self.widget, OWLinearProjection.ReplotRequest)
        self.send_signal(self.widget.Inputs.data, data)
        self.send_signal(self.widget.Inputs.data_subset, data[2:3])
        if not spy.events():
            assert spy.wait()

        with excepthook_catch():
            simulate.combobox_activate_item(cb_color, "X1")

        with excepthook_catch():
            simulate.combobox_activate_item(cb_size, "X1")

        with excepthook_catch():
            simulate.combobox_activate_item(cb_shape, "D")

        with excepthook_catch():
            simulate.combobox_activate_index(cb_jitter, 2, delay=1)
コード例 #38
0
    def test_format(self):
        """
        Test all file format available
        """
        dirname = os.path.join(self.test_dir, "foo")

        self.widget.dirname = dirname
        self.widget.auto_save = True
        self.send_signal(self.widget.Inputs.data, self.data)
        self.wait_until_stop_blocking()

        for i, f in enumerate(SUPPORTED_FILE_FORMATS):
            simulate.combobox_activate_index(
                self.widget.controls.file_format_index, i)
            self.wait_until_stop_blocking()

            # test image has right ending
            image_path = os.path.join(
                dirname, "Day7",
                "D7-0503-12-2-bone-inj-d7-3-0020-m1.{}".format(f))
            self.assertTrue(os.path.isfile(image_path))
コード例 #39
0
    def test_update_regression_line_is_called(self):
        widget = self.widget
        graph = widget.graph
        urline = graph.update_regression_line = Mock()

        self.send_signal(widget.Inputs.data, self.data)
        urline.assert_called_once()
        urline.reset_mock()

        self.send_signal(widget.Inputs.data, None)
        urline.assert_called_once()
        urline.reset_mock()

        self.send_signal(widget.Inputs.data, self.data)
        urline.assert_called_once()
        urline.reset_mock()

        simulate.combobox_activate_index(self.widget.controls.attr_color, 0)
        urline.assert_called_once()
        urline.reset_mock()

        simulate.combobox_activate_index(self.widget.controls.attr_color, 2)
        urline.assert_called_once()
        urline.reset_mock()

        simulate.combobox_activate_index(self.widget.controls.attr_x, 3)
        urline.assert_called_once()
        urline.reset_mock()
コード例 #40
0
    def test_legend(self):
        """Test legend behaviour."""
        self.widget.cb_show_legend.setChecked(True)

        self.send_signal('Tree', self.titanic)
        self.assertIsInstance(self.widget.legend, OWDiscreteLegend)
        self.assertTrue(self.widget.legend.isVisible())

        # The legend should be invisible when regression coloring is none
        self.send_signal('Tree', self.housing)
        self.assertIsInstance(self.widget.legend, OWContinuousLegend)
        self.assertFalse(self.widget.legend.isVisible())

        # The legend should appear when there is a coloring (2 is mean coloring)
        index = 2
        simulate.combobox_activate_index(self.widget.target_class_combo, index)
        self.assertIsInstance(self.widget.legend, OWContinuousLegend)
        self.assertTrue(self.widget.legend.isVisible())

        # Check that switching back to a discrete target class works
        self.send_signal('Tree', self.titanic)
        self.assertIsInstance(self.widget.legend, OWDiscreteLegend)
        self.assertTrue(self.widget.legend.isVisible())
コード例 #41
0
ファイル: test_owmosaic.py プロジェクト: randxie/orange3
    def test_count(self):
        """MosaicVizrank correctly computes the number of combinations"""
        widget = self.widget
        vizrank = self.vizrank

        data = self.iris
        attributes = [v for v in data.domain.attributes[1:]]
        metas = [data.domain.attributes[0]]
        domain = Domain(attributes, data.domain.class_var, metas)
        new_data = data.from_table(domain, data)
        self.send_signal(self.widget.Inputs.data, new_data)

        for data in [self.iris, new_data]:
            self.send_signal(self.widget.Inputs.data, data)

            simulate.combobox_activate_index(self.widget.controls.variable_color, 0, 0)
            self.assertTrue(widget.interior_coloring == widget.PEARSON)
            vizrank.max_attrs = 2
            self.assertEqual(vizrank.state_count(), 10)  # 5x4 / 2
            vizrank.max_attrs = 3
            self.assertEqual(vizrank.state_count(), 20)  # above + 5x4x3 / 2x3
            vizrank.max_attrs = 4
            self.assertEqual(vizrank.state_count(), 25)  # above + 5x4x3x2 / 2x3x4

            simulate.combobox_activate_index(self.widget.controls.variable_color, 2, 0)
            self.assertTrue(widget.interior_coloring == widget.CLASS_DISTRIBUTION)
            vizrank.max_attrs = 2
            self.assertEqual(vizrank.state_count(), 10)  # 4 + 4x3 / 2
            vizrank.max_attrs = 3
            self.assertEqual(vizrank.state_count(), 14)  # above + 4x3x2 / 3x2
            vizrank.max_attrs = 4
            self.assertEqual(vizrank.state_count(), 15)  # above + 4x3x2x1 / 2x3x4

            self.send_signal(self.widget.Inputs.data, self.iris_no_class)
            simulate.combobox_activate_index(self.widget.controls.variable_color, 0, 0)
            vizrank.max_attrs = 2
            self.assertEqual(vizrank.state_count(), 6)  # 4x3 / 2
            vizrank.max_attrs = 3
            self.assertEqual(vizrank.state_count(), 10)  # above + 4x3x2 / 3x2
            vizrank.max_attrs = 4
            self.assertEqual(vizrank.state_count(), 11)  # above + 4x3x2x1 / 2x3x4
コード例 #42
0
ファイル: test_owmds.py プロジェクト: PrimozGodec/orange3
 def test_matrix_columns_labels(self):
     dist = Euclidean(self.data, axis=0)
     self.send_signal(self.widget.Inputs.distances, dist)
     simulate.combobox_activate_index(self.widget.controls.attr_label, 2)
コード例 #43
0
ファイル: test_owfreeviz.py プロジェクト: janezd/orange3
 def test_optimization_reset(self):
     self.send_signal(self.widget.Inputs.data, self.data)
     init = self.widget.controls.initialization
     simulate.combobox_activate_index(init, 0)
     simulate.combobox_activate_index(init, 1)
コード例 #44
0
ファイル: test_owfreeviz.py プロジェクト: nikicc/orange3
 def test_reset_optimization(self):
     self.send_signal(self.widget.Inputs.data, Table("iris"))
     simulate.combobox_activate_index(self.widget.controls.initialization, 0)
     simulate.combobox_activate_index(self.widget.controls.initialization, 1)