pattern recognition tests