Source code for ewoksorange.tests.test_hidden_variables
import pytest
from ewokscore import Task
from ..gui.owwidgets.meta import ow_build_opts
from ..gui.owwidgets.nothread import OWEwoksWidgetNoThread
[docs]
class DummyTask(
Task,
input_names=("visible_input", "hidden_input"),
output_names=("visible_output", "hidden_output"),
):
[docs]
def run(self):
self.outputs.visible_output = self.inputs.visible_input
self.outputs.hidden_output = self.inputs.hidden_input
[docs]
@pytest.mark.parametrize(
"exclude_hidden, expected",
[
pytest.param(
False,
{"visible_output": "visible", "hidden_output": "hidden"},
id="include-hidden",
),
pytest.param(True, {"visible_output": "visible"}, id="exclude-hidden"),
],
)
def test_hidden_outputs(qtapp, exclude_hidden, expected):
widget = OWDummyWidget()
widget.set_default_input("visible_input", "visible_default")
widget.set_default_input("hidden_input", "hidden_default")
widget.set_dynamic_input("visible_input", "visible")
widget.set_dynamic_input("hidden_input", "hidden")
widget.handleNewSignals()
actual = widget.get_output_names(exclude_hidden=exclude_hidden)
assert set(actual) == set(expected)
actual = widget.get_task_outputs(exclude_hidden=exclude_hidden)
assert actual == expected
actual = widget.get_task_output_values(exclude_hidden=exclude_hidden)
assert actual == expected