You should avoid complexity in your test at all costs. A few lines of straightforward workflow should be enough for arrange, act, and assert.
This means that we disallow the following in our tests:
In short, your test should be as simple as the following steps:
If anything else is needed, you probably have a too complex system that needs refactoring in order to bring down ...