added assertPropertyTypes and tests