Automating Test Case Generation in a Pattern-Based Development Environment