Capturing the result of queries as the basis of test data

TODO: better explanation

To record a test:

string testName = "recordconfiguration";
Providers.MockProvider p = (MockProvider) Provider.Create("Mock");
FileInfo testConfig = new FileInfo(p.Statements.Directory + "\\Mock\\" + testName + ".config");

Providers.MockProvider.TestName = testName;
DataFactory recorder = p.CreateTestRecorder(new DataFactory(conn, "SqlClient"));

This code will produce a test recorder for a test called recordconfiguration. The DataFactory will make calls against the "RealProvider", SqlClient, or in other words the recorder delegates it's calls to a different provider. After the call is executed the data is captured to files, configuration setup then a new reader is returned with the expected data.