## Summary
- Evaluation: https://hackmd.io/EahK_z9-Q6CLMZIU28aJIA?view
### Introduction
lnprototest should implement just the runner
and nothing else, so we should write test in the
following way
```python
def test_init_sender_side(runner: Runner):
conn = runner.connect(connprivkey="03")
init = conn.recv()
assert init.type = pyln.proto.Init.type
our_send = pyln.proto.Init(...)
conn.send(our_send)
counterparty_init = conn.recv()
assert counterparty_init.type == pyln.proto.Init.type
```
There are some design question to improve it, that are
how a tests will fail with lnprototest? in other workds
if the connection return an error how this will be handle?
The currect lnprototest through `EventError` or exception but this with the current design is not true anymore.
---
- Another problem is the dynamic dispach of the python code!