add unittest cases