public SilverlightXunitTestFileExplorer(UnitTestProviders providers) { provider = providers.GetProvider(ProviderId); if (provider == null) { xUnitInstalled = false; provider = providers.GetProvider(SilverlightUnitTestProvider.RunnerId); } }
public SilverlightXunitTestFileExplorer(UnitTestProviders providers) { provider = providers.GetProvider(ProviderId); if (provider == null) { xUnitInstalled = false; provider = providers.GetProvider(SilverlightUnitTestProvider.RunnerId); } }
public static KeyValuePair <UnitTestRunProperties, UnitTestRun> GetOrCreateSilverlightRun(this IUnitTestLaunch launch, PlatformID silverlightPlatform, UnitTestProviders providers, ITaskRunnerHostController hostController) { var runs = launch.GetRuns(); var silverlightRun = runs.Values.FirstOrDefault(run => run.Value.GetSilverlightPlatformVersion() == silverlightPlatform.Version); if (silverlightRun.Value == null) { var runtimeEnvironment = new RuntimeEnvironment { PlatformType = PlatformType.x86, PlatformVersion = PlatformVersion.v4_0 }; var run = new UnitTestRun((UnitTestLaunch)launch, runtimeEnvironment); var runStrategy = new OutOfProcessUnitTestRunStrategy(SilverlightUnitTestProvider.GetTaskRunnerInfo(launch)); var unitTestProvider = providers.GetProvider(SilverlightUnitTestProvider.RunnerId); var runProperties = new UnitTestRunProperties(unitTestProvider, null, runStrategy, runtimeEnvironment); runProperties.RunController = hostController; silverlightRun = new KeyValuePair <UnitTestRunProperties, UnitTestRun>(runProperties, run); runs.Add(run.ID, silverlightRun); } return(silverlightRun); }
public static void AddSilverlightUnitTestTask(this IList<UnitTestTask> sequence, IProject silverlightProject, UnitTestProviders providers) { var provider = providers.GetProvider(SilverlightUnitTestProvider.RunnerId); var element = new SilverlightUnitTestElement(provider); var remoteTask = new SilverlightUnitTestTask(silverlightProject.PlatformID.Version, silverlightProject.GetXapPath(), silverlightProject.GetDllPath()); sequence.Insert(0, new UnitTestTask(element, remoteTask)); }
public static void AddSilverlightUnitTestTask(this IList <UnitTestTask> sequence, IProject silverlightProject, UnitTestProviders providers) { var provider = providers.GetProvider(SilverlightUnitTestProvider.RunnerId); var element = new SilverlightUnitTestElement(provider); var remoteTask = new SilverlightUnitTestTask(silverlightProject.PlatformID.Version, silverlightProject.GetXapPath(), silverlightProject.GetDllPath()); sequence.Insert(0, new UnitTestTask(element, remoteTask)); }
private static void ConvertToSilverlightSequenceIfNecessary(RemoteTaskPacket sequence, IUnitTestRun run, IUnitTestLaunch launch, UnitTestProviders providers, ITaskRunnerHostController hostController) { if (!sequence.IsSilverlightSequence()) { var silverlightProject = sequence.GetSilverlightProject(run); if (silverlightProject != null) { var silverlightRun = launch.GetOrCreateSilverlightRun(silverlightProject.PlatformID, providers, hostController); var provider = providers.GetProvider(SilverlightUnitTestProvider.RunnerId); var silverlightElement = new SilverlightUnitTestElement(provider, silverlightRun.Key.RunStrategy); var remoteTask = new SilverlightUnitTestTask(silverlightProject.PlatformID.Version, silverlightProject.GetXapPath(), silverlightProject.GetDllPath()); var silverlightSequence = new RemoteTaskPacket(remoteTask) { TaskPackets = { sequence } }; run.GetRootTasks().Remove(sequence); silverlightRun.Value.AddTaskSequence(silverlightSequence, silverlightElement, run); } } }
public static void EnsureSilverlightPlatformSupport(this IUnitTestLaunch launch, UnitTestProviders providers, ITaskRunnerHostController hostController) { var runs = launch.GetRuns(); foreach (var run in runs.Values.Select(r => r.Value).ToArray()) { foreach (var sequence in run.GetRootTasks().ToArray()) { if (run.Elements.FirstOrDefault() is SilverlightUnitTestElement) { continue; } IUnitTestRun localRun = run; var provider = providers.GetProvider(SilverlightUnitTestProvider.RunnerId); ConvertToSilverlightSequenceIfNecessary(sequence, ref localRun, launch, provider, hostController); } } launch.RemoveEmptyRuns(); }
public static KeyValuePair<UnitTestRunProperties, UnitTestRun> GetOrCreateSilverlightRun(this IUnitTestLaunch launch, PlatformID silverlightPlatform, UnitTestProviders providers, ITaskRunnerHostController hostController) { var runs = launch.GetRuns(); var silverlightRun = runs.Values.FirstOrDefault(run => run.Value.GetSilverlightPlatformVersion() == silverlightPlatform.Version); if (silverlightRun.Value == null) { var runtimeEnvironment = new RuntimeEnvironment { PlatformType = PlatformType.x86, PlatformVersion = PlatformVersion.v4_0 }; var run = new UnitTestRun((UnitTestLaunch)launch, runtimeEnvironment); var runStrategy = new OutOfProcessUnitTestRunStrategy(SilverlightUnitTestProvider.GetTaskRunnerInfo(launch)); var unitTestProvider = providers.GetProvider(SilverlightUnitTestProvider.RunnerId); var runProperties = new UnitTestRunProperties(unitTestProvider, null, runStrategy, runtimeEnvironment); runProperties.RunController = hostController; silverlightRun = new KeyValuePair<UnitTestRunProperties, UnitTestRun>(runProperties, run); runs.Add(run.ID, silverlightRun); } return silverlightRun; }
private static void ConvertToSilverlightSequenceIfNecessary(RemoteTaskPacket sequence, IUnitTestRun run, IUnitTestLaunch launch, UnitTestProviders providers, ITaskRunnerHostController hostController) { if (!sequence.IsSilverlightSequence()) { var silverlightProject = sequence.GetSilverlightProject(run); if (silverlightProject != null) { var silverlightRun = launch.GetOrCreateSilverlightRun(silverlightProject.PlatformID, providers, hostController); var provider = providers.GetProvider(SilverlightUnitTestProvider.RunnerId); var silverlightElement = new SilverlightUnitTestElement(provider, silverlightRun.Key.RunStrategy); var remoteTask = new SilverlightUnitTestTask(silverlightProject.PlatformID.Version, silverlightProject.GetXapPath(), silverlightProject.GetDllPath()); var silverlightSequence = new RemoteTaskPacket(remoteTask) { TaskPackets = { sequence } }; run.GetRootTasks().Remove(sequence); silverlightRun.Value.AddTaskSequence(silverlightSequence, silverlightElement, run); } } }