Automated tests generally follow the Arrange, Act, Assert pattern. First,
establish the preconditions of the test, then execute the functionality under
test, and, finally, assert that the result meets the expectation. The Arrange
portion of a unit test is usually trivial. Functional tests, however, can often
have fairly involved preconditions