moved unit test to separate file, use unittest module