public TestUtilReflectionWrapper(AssemblyLoader loader)
{
if (loader == null)
{
throw new ArgumentNullException("loader");
}
var winbert = loader.GetAssemblies().FirstOrDefault(x => x.FullName.Equals(Assembly.GetExecutingAssembly().FullName));
this.testUtil = winbert == null ? null : winbert.GetTypes().FirstOrDefault(x => x.Name.Equals(typeof(TestUtil).Name));
// Rut ro.
if (testUtil == null)
{
throw new ArgumentException("Unable to find the type TestUtil in the passed assembly loader.");
}
// Set props
this.SaveResults = this.testUtil.GetMethod(TestUtilMethodInjector.SaveResultsName);
var stateRecorderProp = this.testUtil.GetProperty(TestUtilMethodInjector.StateRecorderPropName);
this.StateRecorderPropGetter = stateRecorderProp.GetGetMethod();
this.StateRecorderPropSetter = stateRecorderProp.GetSetMethod();
}