test pattern generation