unit test, logging, assert, exception