add unittest, fix zset scan bug