(s1, s2)
| 896 | |
| 897 | |
| 898 | def test_invoke(s1, s2): |
| 899 | |
| 900 | # builtin |
| 901 | assert len(s2.invoke(print).vals()) == 5 |
| 902 | # arity 0 |
| 903 | assert len(s2.invoke(lambda: 1).vals()) == 5 |
| 904 | # arity 1 and no return |
| 905 | assert len(s2.invoke(lambda x: None).vals()) == 5 |
| 906 | # arity 1 |
| 907 | assert len(s2.invoke(lambda x: s1).vals()) == 2 |
| 908 | # test exception with wrong arity |
| 909 | with raises(ValueError): |
| 910 | s2.invoke(lambda x, y: 1) |
| 911 | |
| 912 | |
| 913 | @fixture |