Loading test/unit/tools/test_wrappers.py +17 −9 Original line number Diff line number Diff line Loading @@ -108,15 +108,19 @@ def test_raw_object_wrapper(): assert not false_wrapper def valuewrapper(tool, value, paramtype): def valuewrapper(tool, value, paramtype, optional=False): if paramtype == "integer": parameter = IntegerToolParameter(tool, XML('<param name="blah" type="integer" value="10" min="0" />')) optional = 'optional="true"' if optional else 'value="10"' parameter = IntegerToolParameter(tool, XML('<param name="blah" type="integer" %s min="0" />' % optional)) elif paramtype == "text": parameter = TextToolParameter(tool, XML('<param name="blah" type="text" value="foo"/>')) optional = 'optional="true"' if optional else 'value="foo"' parameter = TextToolParameter(tool, XML('<param name="blah" type="text" %s/>' % optional)) elif paramtype == "float": parameter = FloatToolParameter(tool, XML('<param name="blah" type="float" value="10.0"/>')) optional = 'optional="true"' if optional else 'value="10.0"' parameter = FloatToolParameter(tool, XML('<param name="blah" type="float" %s/>' % optional)) elif paramtype == "boolean": parameter = BooleanToolParameter(tool, XML('<param name="blah" type="boolean" truevalue="truevalue" falsevalue="falsevalue"/>')) optional = 'optional="true"' if optional else 'value=""' parameter = BooleanToolParameter(tool, XML('<param name="blah" type="boolean" truevalue="truevalue" falsevalue="falsevalue" %s/>' % optional)) return InputValueWrapper(parameter, value) Loading @@ -143,19 +147,23 @@ def test_input_value_wrapper_comparison(tool): @with_mock_tool def test_input_value_wrapper_comparison_optional(tool): parameter = IntegerToolParameter(tool, XML('<param name="blah" type="integer" min="0" optional="true"/>')) wrapper = InputValueWrapper(parameter, None) wrapper = valuewrapper(tool, None, 'integer', optional=True) assert not wrapper with pytest.raises(ValueError): int(wrapper) assert str(wrapper) == "" assert wrapper == "" # for backward-compatibility parameter = IntegerToolParameter(tool, XML('<param name="blah" type="integer" min="0" optional="true"/>')) wrapper = InputValueWrapper(parameter, 0) wrapper = valuewrapper(tool, 0, 'integer', optional=True) assert wrapper == 0 assert int(wrapper) == 0 assert str(wrapper) assert wrapper != "" # for backward-compatibility, the correct way to check if an optional integer param is not empty is to use str(wrapper) wrapper = valuewrapper(tool, None, 'integer', optional=True) assert wrapper != 1 assert str(wrapper) == "" wrapper = valuewrapper(tool, None, "boolean") assert bool(wrapper) is False, wrapper assert str(wrapper) == 'falsevalue' @with_mock_tool Loading Loading
test/unit/tools/test_wrappers.py +17 −9 Original line number Diff line number Diff line Loading @@ -108,15 +108,19 @@ def test_raw_object_wrapper(): assert not false_wrapper def valuewrapper(tool, value, paramtype): def valuewrapper(tool, value, paramtype, optional=False): if paramtype == "integer": parameter = IntegerToolParameter(tool, XML('<param name="blah" type="integer" value="10" min="0" />')) optional = 'optional="true"' if optional else 'value="10"' parameter = IntegerToolParameter(tool, XML('<param name="blah" type="integer" %s min="0" />' % optional)) elif paramtype == "text": parameter = TextToolParameter(tool, XML('<param name="blah" type="text" value="foo"/>')) optional = 'optional="true"' if optional else 'value="foo"' parameter = TextToolParameter(tool, XML('<param name="blah" type="text" %s/>' % optional)) elif paramtype == "float": parameter = FloatToolParameter(tool, XML('<param name="blah" type="float" value="10.0"/>')) optional = 'optional="true"' if optional else 'value="10.0"' parameter = FloatToolParameter(tool, XML('<param name="blah" type="float" %s/>' % optional)) elif paramtype == "boolean": parameter = BooleanToolParameter(tool, XML('<param name="blah" type="boolean" truevalue="truevalue" falsevalue="falsevalue"/>')) optional = 'optional="true"' if optional else 'value=""' parameter = BooleanToolParameter(tool, XML('<param name="blah" type="boolean" truevalue="truevalue" falsevalue="falsevalue" %s/>' % optional)) return InputValueWrapper(parameter, value) Loading @@ -143,19 +147,23 @@ def test_input_value_wrapper_comparison(tool): @with_mock_tool def test_input_value_wrapper_comparison_optional(tool): parameter = IntegerToolParameter(tool, XML('<param name="blah" type="integer" min="0" optional="true"/>')) wrapper = InputValueWrapper(parameter, None) wrapper = valuewrapper(tool, None, 'integer', optional=True) assert not wrapper with pytest.raises(ValueError): int(wrapper) assert str(wrapper) == "" assert wrapper == "" # for backward-compatibility parameter = IntegerToolParameter(tool, XML('<param name="blah" type="integer" min="0" optional="true"/>')) wrapper = InputValueWrapper(parameter, 0) wrapper = valuewrapper(tool, 0, 'integer', optional=True) assert wrapper == 0 assert int(wrapper) == 0 assert str(wrapper) assert wrapper != "" # for backward-compatibility, the correct way to check if an optional integer param is not empty is to use str(wrapper) wrapper = valuewrapper(tool, None, 'integer', optional=True) assert wrapper != 1 assert str(wrapper) == "" wrapper = valuewrapper(tool, None, "boolean") assert bool(wrapper) is False, wrapper assert str(wrapper) == 'falsevalue' @with_mock_tool Loading