add functional test case