Designing automation layer
Adapting screenplay pattern
code in terms of intention (when knowing more about intention) refactor the domain-specific API (when knowing more about underlying technology)
Driver
reusing the composition root
Separate start method
Fake adapters
They include port-specific setup and assertions.
Create a new fake adapter per each call.
Using fakes
For threads and e.g. databases - simpler objects with partially defined behavior
Actors
Where do assertions go? into the actors or context?
How to manage per-actor context (e.g. each actor has its own sent & received messages stored)
These are not actors as in actor model
Data builders
nesting builders, builders as immutable objects.