예제 #1
0
 def test_postprocess(self):
     args = arguments(2, postprocess=lambda x: 1, default={1, 2})
     assert args() == {1, 2}
     assert args("a", "b", "c") == 1
예제 #2
0
 def test_kwargs_default_value(self):
     args = arguments("key", default="value")
     assert args() == "value"
     assert args("a", "b", key="blah") == "blah"
예제 #3
0
 def test_args_default_value(self):
     args = arguments(2, default={1, 2})
     assert args() == {1, 2}
     assert args("a", "b", "c") == "c"
예제 #4
0
    def test_extract_keyword_args(self):
        args = arguments("arg")
        assert args(arg=1) == 1

        with raises(TypeError):
            assert args()
예제 #5
0
    def test_extract_positional_args(self):
        args = arguments(1)
        assert args([1], {2: 3}, "blah") == {2: 3}

        with raises(TypeError):
            assert args()
예제 #6
0
    def test_bad_argument_param(self):
        with raises(ValueError):
            arguments(None)

        with raises(ValueError):
            arguments({})