def test_ex_sct_copy_pos(addx): assert EagerChain(ChainedCall(addx, ("x", )), state="state")._state == "statex"
def test_ex_sct_copy_kw(addx): assert (EagerChain(ChainedCall(addx, kwargs={"x": "x"}), state="state")._state == "statex")
def test_f_sct_copy_pos(addx): assert LazyChain(ChainedCall(addx, ("x", )))("state") == "statex"
def test_f_sct_copy_kw(addx): assert LazyChain(ChainedCall(addx, kwargs={"x": "x"}))("state") == "statex"
def f2(): return LazyChain(ChainedCall(lambda state, c: state + c, kwargs={"c": "c"}))
def f(): return LazyChain(ChainedCall(lambda state, b: state + b, kwargs={"b": "b"}))