self type tests