NUnit supports a feature where you can specify a set of data inputs for a unit test to be run multiple times.
[RowTest] [Row(1001,1,2,3)] [Row(1,1001,2,3)] [
You can have this capability by writing a small extension of mstest as shown here.
http://blogs.msdn.com/b/vstsqualitytools/archive/2009/09/04/extending-the-visual-studio-unit-test-type-part-2.aspx