def test_widget_vs_manual(self): data = SMALL_COLLAGEN self.send_signal(OWPreprocess.Inputs.data, data) self.widget.add_preprocessor(pack_editor(CutEditor)) self.widget.add_preprocessor(pack_editor(SavitzkyGolayFilteringEditor)) self.widget.apply() p = self.get_output(OWPreprocess.Outputs.preprocessor) d = self.get_output(OWPreprocess.Outputs.preprocessed_data) manual = p(data) np.testing.assert_equal(d.X, manual.X)
def test_widget_vs_manual(self): data = SMALL_COLLAGEN self.send_signal(self.widget.Inputs.data, data) self.widget.add_preprocessor(pack_editor(CutEditor)) self.widget.add_preprocessor(pack_editor(SavitzkyGolayFilteringEditor)) self.widget.unconditional_commit() self.wait_until_finished() p = self.get_output(self.widget.Outputs.preprocessor) d = self.get_output(self.widget.Outputs.preprocessed_data) manual = p(data) np.testing.assert_equal(d.X, manual.X)
def test_reference_preprocessed(self): data = SMALL_COLLAGEN self.send_signal("Data", data) self.send_signal("Reference", data) self.widget.add_preprocessor(pack_editor(CutEditor)) self.widget.add_preprocessor(pack_editor(RememberDataEditor)) self.widget.apply() processed = getx(RememberData.reference) original = getx(data) # cut by default cuts 10% of the data on both edges removed = set(original) - set(processed) self.assertGreater(len(removed), 0) self.assertEqual(set(), set(processed) - set(original)) self.assertFalse(self.widget.Warning.reference_compat.is_shown())
def test_reference_not_processed(self): """Testing setting for compatibility wih older saved schemas""" data = SMALL_COLLAGEN self.widget.process_reference = False self.assertFalse(self.widget.Warning.reference_compat.is_shown()) self.send_signal("Data", data) self.send_signal("Reference", data) self.widget.add_preprocessor(pack_editor(CutEditor)) self.widget.add_preprocessor(pack_editor(RememberDataEditor)) self.widget.show_preview() self.assertIs(data, RememberData.reference) self.assertTrue(self.widget.Warning.reference_compat.is_shown()) self.widget.apply() self.assertIs(data, RememberData.reference) self.assertTrue(self.widget.Warning.reference_compat.is_shown())
def test_reference_preprocessed_preview(self): data = SMALL_COLLAGEN self.widget.preview_curves = 3 self.send_signal("Data", data) self.send_signal("Reference", data) self.widget.add_preprocessor(pack_editor(CutEditor)) self.widget.add_preprocessor(pack_editor(RememberDataEditor)) wait_for_preview(self.widget) processed = getx(RememberData.reference) # cut by default cuts 10% of the data on both edges original = getx(data) # confirm that we are looking at preview data self.assertEqual(3, len(RememberData.data)) removed = set(original) - set(processed) self.assertGreater(len(removed), 0) self.assertEqual(set(), set(processed) - set(original)) self.assertFalse(self.widget.Warning.reference_compat.is_shown())
def test_apply_on_everything(self): data = SMALL_COLLAGEN assert len(data) > 3 self.send_signal("Data", data) self.widget.preview_curves = 3 self.widget.add_preprocessor(pack_editor(RememberDataEditor)) self.widget.apply() self.assertEqual(len(data), len(RememberData.data))
def test_preview_sampled(self): data = SMALL_COLLAGEN assert len(data) > 3 self.send_signal("Data", data) self.widget.add_preprocessor(pack_editor(RememberDataEditor)) self.widget.preview_curves = 3 self.widget.show_preview() self.assertEqual(3, len(RememberData.data))
def test_simple_preview(self): data = Orange.data.Table("iris.tab") self.send_signal(OWIntegrate.Inputs.data, data) self.widget.add_preprocessor(pack_editor(IntegrateSimpleEditor)) self.widget.show_preview() self.assertEqual(0, len(self.widget.curveplot.markings)) self.widget.flow_view.set_preview_n(0) self.widget.show_preview() self.assertGreater(len(self.widget.curveplot.markings), 0)
def test_out_of_range(self): data = Orange.data.Table("iris.tab") self.send_signal(OWIntegrate.Inputs.data, data) self.widget.add_preprocessor(pack_editor(IntegrateSimpleEditor)) editor = self.widget.flow_view.widgets()[0] editor.set_value("Low limit", 0) editor.edited.emit() self.assertFalse(editor.Warning.out_of_range.is_shown()) editor.set_value("Low limit", -1) editor.edited.emit() self.assertTrue(editor.Warning.out_of_range.is_shown())
def test_preview_keep_order(self): data = SMALL_COLLAGEN assert len(data) > 4 self.send_signal("Data", data) self.widget.add_preprocessor(pack_editor(RememberDataEditor)) self.widget.preview_curves = 3 self.widget.show_preview() ids_old = RememberData.data.ids self.widget.preview_curves = 4 self.widget.show_preview() ids_new = RememberData.data.ids self.assertEqual(4, len(ids_new)) self.assertEqual(list(ids_old), list(ids_new[:len(ids_old)]))
def add_editor(self, cls, widget): # type: (Type[T], object) -> T widget.add_preprocessor(pack_editor(cls)) editor = widget.flow_view.widgets()[-1] self.process_events() return editor
def test_output_preprocessor_without_data(self): self.widget.add_preprocessor(pack_editor(CutEditor)) self.widget.unconditional_commit() self.wait_until_finished() out = self.get_output(self.widget.Outputs.preprocessor) self.assertIsInstance(out, Preprocess)
def test_output_preprocessor_without_data(self): self.widget.add_preprocessor(pack_editor(CutEditor)) self.widget.apply() out = self.get_output(OWPreprocess.Outputs.preprocessor) self.assertIsInstance(out, Preprocess)