then

If at any point you think of an experiment you'd like to try out, all of the code examples below are editable.

then is a power-user feature that allows you to execute logic after a test has finished running. then is most useful if you are extending Distilled or writing your own project-specific framework and merely using Distilled as a base.

Tests/suites expose a `then` method:  true
Calling `then` returns the same test/suite you called it on:  true
`then` is called once a test finishes.
You can call `then` multiple times on the same test.
`then` calls can even be nested inside themselves.

One of the major benefits of leveraging then over using just test, assert, or even a custom reporter to extend Distilled is that then is guaranteed to execute no matter what, and is guaranteed to execute only once the entire suite you call it on has finished running.

It will fire if tests pass.
It will fire if tests fail.
It will even fire for children that are skipped.
Any child tests will have already resolved:  true

then resolves using native Promise rules. If you're familiar with how async code works, you already know how then works.

A-B-C true
A-_a-B-b-a true

Code samples in this section demonstrate bug fixes. They're not particularly relevant to the documentation, but they help make sure that Distilled never has any regressions.

Adding a new test post-resolution fails.
Test fails with the correct message:  true
`attachPostResolve` allows this behavior:  true