修改代码，过单元测试
添加单元测试