def test_args_call_pos_and_kw (self):
        assert _args(isint, ricardo=isstring)(ricardo='#2')
        assert _args(isint, ricardo=isstring)(4, 8, ricardo='#2', hurley=16)
        assert _args(isint, ricardo=isstring, hurley=isint)(4, 8, ricardo='#2', hurley=16)

        assert not _args(isint, ricardo=isstring)()
        assert not _args(isint, ricardo=isstring)(ricardo=2)
        assert not _args(isint, ricardo=isstring)(4, 8, ricardo=2, hurley=16)
        assert not _args(isint, ricardo=isstring)(4, 8, 'kate', ricardo='#2', hurley=16)
        assert not _args(isint, ricardo=isstring, hurley=isint)(4, 8, ricardo=2, hurley=16)
    def test_args_call_pos (self):
        assert _args(isstring)()
        assert _args(isstring)('dharma')
        assert _args(isstring)('dharma', 'miles')

        assert not _args(isstring)(4, "bad robot!")

        assert _and(_args(isstring),
                    _args(_not(isempty)))('jack', 'sawyer')
        assert not _and(_args(isstring),
                        _args(_not(isempty)))('jack', 'sawyer', '')
 def test_args_call_none (self):
     _args()()