public VSIDebugParameters Clone() { var clone = new VSIDebugParameters(); clone.ExtensionOptions = ExtensionOptions?.Select(x => x.Clone()).ToList(); clone.ExperimentalOptions = ExperimentalOptions?.Select(x => x.Clone()).ToList(); return(clone); }
public void get_all_should_return_extension_with_not_null_extension_property() { var options = new ExtensionOptions { Enabled = true, Order = 1 }; _options.Extensions = new Dictionary <string, ExtensionOptions> { [ExtensionName] = options, }; var result = Act(); var extension = result.SingleOrDefault(); extension.ShouldNotBeNull(); extension.Extension.ShouldNotBeNull(); }
public void MergeFrom(VSIDebugParameters other) { if (other.ExtensionOptions != null) { if (ExtensionOptions == null) { ExtensionOptions = new List <Types.EnumOption>(); } ExtensionOptions.AddRange(other.ExtensionOptions); } if (other.ExperimentalOptions != null) { if (ExperimentalOptions == null) { ExperimentalOptions = new List <Types.EnumOption>(); } ExperimentalOptions.AddRange(other.ExperimentalOptions); } }
public void GivenCustomExtensionShouldBeRegisteredAfterDefaultExtension() { var defaultPath = "default"; var customPath = "custom"; var options = new ExtensionOptions(); options.DefaultExtensions.Add(defaultPath); options.ExtensionPaths.Add(customPath); var loader = new Mock <IExtensionLoader>(); using (var defaultInstance = new ExtensionInstance(defaultPath, Mock.Of <IFileProvider>(), defaultPath, MockConfiguration(), NullLogger <ExtensionInstance> .Instance)) { using (var customInstance = new ExtensionInstance(customPath, Mock.Of <IFileProvider>(), customPath, MockConfiguration(), NullLogger <ExtensionInstance> .Instance)) { loader.Setup(l => l.LoadExtension(It.Is <string>(s => s.EndsWith(defaultPath)))).Returns(defaultInstance); loader.Setup(l => l.LoadExtension(It.Is <string>(s => s.EndsWith(customPath)))).Returns(customInstance); using (var subject = new ExtensionProvider(new[] { loader.Object }, MockConfigurationLoader(), new ExtensionInstanceFactory(NullLogger <ExtensionInstance> .Instance), Mock.Of <IExtensionLocator>(), Options.Create(options), NullLogger <ExtensionProvider> .Instance)) { Assert.Equal((subject as IExtensionProvider).Instances.First().Location, defaultPath); } } } }