add self test case