/// <inheritdoc /> public string ResolveResourcePath(Uri resourceUri) { if (resourceUri == null) { throw new ArgumentNullException("resourceUri"); } if (resourceUri.IsFile) { return(Path.GetFullPath(resourceUri.LocalPath)); } if (resourceUri.Scheme == @"plugin") { string pluginId = resourceUri.Host; string relativePath = resourceUri.PathAndQuery; IPluginDescriptor plugin = GenericCollectionUtils.Find(registry.Plugins, p => string.Compare(pluginId, p.PluginId, true) == 0); if (plugin == null) { throw new RuntimeException(String.Format("Could not resolve resource uri '{0}' because no plugin appears to be registered with the requested id.", resourceUri)); } string pluginPath = plugin.BaseDirectory.FullName; if (relativePath.Length == 0 || relativePath == @"/") { return(pluginPath); } string relativeLocalPath = relativePath.Substring(1).Replace('/', Path.DirectorySeparatorChar); return(Path.Combine(pluginPath, relativeLocalPath)); } throw new RuntimeException(String.Format("Could not resolve resource uri '{0}' because the scheme was not recognized. The uri scheme must be 'file' or 'plugin'.", resourceUri)); }
public void RunFixtureRepeatedly() { TestStepRun fixtureRun = Runner.GetPrimaryTestStepRun(CodeReference.CreateFromType(typeof(ThreadedRepeatFixtureSample))); AssertLogContains(fixtureRun, "9 of 10 threaded repetitions passed."); Assert.AreEqual(TestOutcome.Failed, fixtureRun.Result.Outcome); IList <TestStepRun> fixtureSteps = fixtureRun.Children; Assert.Count(10, fixtureSteps, "Expected 10 repetitions represented as steps."); for (int i = 0; i < 10; i++) { string name = "Threaded Repetition #" + (i + 1); TestStepRun fixtureStep = GenericCollectionUtils.Find(fixtureSteps, candidate => candidate.Step.Name == name); Assert.Count(1, fixtureStep.Children); TestStepRun testRun = fixtureStep.Children[0]; AssertLogContains(testRun, "Run: " + name); if (i == 1) { Assert.AreEqual(TestOutcome.Failed, fixtureStep.Result.Outcome); Assert.AreEqual(TestOutcome.Failed, testRun.Result.Outcome); AssertLogContains(testRun, "Boom", MarkupStreamNames.Failures); } else { Assert.AreEqual(TestOutcome.Passed, fixtureStep.Result.Outcome); Assert.AreEqual(TestOutcome.Passed, testRun.Result.Outcome); } } }
private static T FindByName <T>(IEnumerable <T> elements, string name) where T : ICodeElementInfo { return(GenericCollectionUtils.Find(elements, delegate(T element) { return element.Name == name; })); }
/// <summary> /// Removes a hint directory. /// </summary> /// <param name="directory">The directory to remove.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="directory"/> is null.</exception> public void RemoveHintDirectory(DirectoryInfo directory) { if (directory == null) { throw new ArgumentNullException("directory"); } var existingDirectory = GenericCollectionUtils.Find(hintDirectories, x => x.ToString() == directory.ToString()); hintDirectories.Remove(existingDirectory); }
/// <inheritdoc /> public IReportFormatter GetReportFormatter(string formatterName) { if (formatterName == null) { throw new ArgumentNullException("name"); } ComponentHandle <IReportFormatter, ReportFormatterTraits> handle = GenericCollectionUtils.Find(formatterHandles, h => string.Compare(h.GetTraits().Name, formatterName, true) == 0); return(handle != null?handle.GetComponent() : null); }
/// <inheritdoc /> public ITestRunnerFactory GetFactory(string factoryName) { if (factoryName == null) { throw new ArgumentNullException(@"factoryName"); } ComponentHandle <ITestRunnerFactory, TestRunnerFactoryTraits> handle = GenericCollectionUtils.Find(factoryHandles, h => string.Compare(h.GetTraits().Name, factoryName, true) == 0); return(handle != null?handle.GetComponent() : null); }
/// <summary> /// Gets the caption overlay to display over of screenshots images and videos. /// </summary> /// <returns>The caption overlay.</returns> public static CaptionOverlay GetCaptionOverlay() { OverlayManager overlayManager = GetOverlayManager(); DefaultCaptionOverlay defaultCaptionOverlay = (DefaultCaptionOverlay) GenericCollectionUtils.Find(overlayManager.Overlays, x => x is DefaultCaptionOverlay); if (defaultCaptionOverlay == null) { defaultCaptionOverlay = new DefaultCaptionOverlay(); overlayManager.AddOverlay(defaultCaptionOverlay); } return(defaultCaptionOverlay); }
private void ConfigureIronRuby(ScriptRuntimeSetup scriptRuntimeSetup) { LanguageSetup languageSetup = GenericCollectionUtils.Find(scriptRuntimeSetup.LanguageSetups, x => x.Names.Contains("IronRuby")); if (languageSetup == null) { return; } IList <string> libraryPaths = GetIronRubyLibraryPaths(languageSetup); ConfigureIronRuby(languageSetup, libraryPaths); CanonicalizeLibraryPaths(libraryPaths); SetIronRubyLibraryPaths(languageSetup, libraryPaths); }
/// <inheritdoc /> public ITestParameterBuilder GetParameter(string name) { if (name == null) { throw new ArgumentNullException("name"); } var testParameter = (PatternTestParameter)GenericCollectionUtils.Find(test.Parameters, x => x.Name == name); if (testParameter == null) { return(null); } return(new DefaultTestParameterBuilder(GetTestModelBuilder(), testParameter)); }
private FileInfo FindFile(FileInfo file) { return(GenericCollectionUtils.Find(files, x => string.Compare(x.ToString(), file.ToString(), StringComparison.OrdinalIgnoreCase) == 0)); }