using unittest for test cases