Split tests

Split the tests into unit tests and real world examples.
Add test based on dissertation

Add another real world test. It is based on the first example in the
original dissertation. It's used with permission.