[feature] unit test