Creating unit tests with rich input and output

Unit tests are the foundational element in the testing pyramid. In theory, codebases should have more of those than any other kind. Fortunately unit tests area also the fastest to run.