private StatLightConfiguration GetStatLightConfigurationForDll(string dllPath)
{
Func<IEnumerable<ITestFile>> filesToCopyIntoHostXap = () => new List<ITestFile>();
string entryPointAssembly = string.Empty;
string runtimeVersion = null;
IEnumerable<string> testAssemblyFormalNames = new List<string>();
var dllFileInfo = new FileInfo(dllPath);
var assemblyResolver = new AssemblyResolver();
var dependentAssemblies = assemblyResolver.ResolveAllDependentAssemblies(_options.IsPhoneRun, dllFileInfo.FullName);
var coreFileUnderTest = new TestFile(dllFileInfo.FullName);
var dependentFilesUnderTest = dependentAssemblies.Select(file => new TestFile(file)).ToList();
dependentFilesUnderTest.Add(coreFileUnderTest);
var testFileCollection = new TestFileCollection(_logger,
AssemblyName.GetAssemblyName(dllFileInfo.FullName).ToString(),
dependentFilesUnderTest);
testAssemblyFormalNames = testFileCollection.GetAssemblyNames();
UnitTestProviderType unitTestProviderType = _options.UnitTestProviderType;
MicrosoftTestingFrameworkVersion? microsoftTestingFrameworkVersion = _options.MicrosoftTestingFrameworkVersion;
SetupUnitTestProviderType(testFileCollection, ref unitTestProviderType, ref microsoftTestingFrameworkVersion);
entryPointAssembly = testFileCollection.TestAssemblyFullName;
filesToCopyIntoHostXap = () =>
{
return new TestFileCollection(_logger,
AssemblyName.GetAssemblyName(dllFileInfo.FullName)
.ToString(),
dependentFilesUnderTest).FilesContainedWithinXap;
};
var clientConfig = new ClientTestRunConfiguration(unitTestProviderType, _options.MethodsToTest, _options.TagFilters, _options.NumberOfBrowserHosts, _options.WebBrowserType, entryPointAssembly, _options.WindowGeometry, testAssemblyFormalNames);
var serverConfig = CreateServerConfiguration(
dllPath,
clientConfig.UnitTestProviderType,
microsoftTestingFrameworkVersion,
filesToCopyIntoHostXap,
_options.QueryString,
_options.ForceBrowserStart,
_options.WindowGeometry,
runtimeVersion,
_options.IsPhoneRun);
return new StatLightConfiguration(clientConfig, serverConfig);
}