implemented nonprim datatype tests