pattern testing