public void MergeInto (AssemblyConfiguration result) { result.Ignored.AddRange(Ignored); result.Stubbed.AddRange(Stubbed); result.Proxies.AddRange(Proxies); foreach (var kvp in Redirects) result.Redirects[kvp.Key] = kvp.Value; }
private static void InitializeType(Type type, bool isSandboxAssembly) { #if !STANDALONE TypeConfiguration typeConfiguration = null; #endif foreach (var field in type.GetRuntimeFields()) { var attr = field.GetCustomAttribute <ConfigurationAttribute>(); if (attr != null) { #if SHAMAN if (isSandboxAssembly && type.FullName.EndsWith("Sandbox") && type.Name.AsValueString().Substring(0, type.Name.Length - "Sandbox".Length) != ConfigurationManagerConfig.AlternateEntrypointName) { attr.CommandLineAlias = null; } #endif object value; if (TryGetValue(field, attr, out value)) { field.SetValue(null, value); #if !STANDALONE if (typeConfiguration == null) { if (configuration == null) { configuration = new List <AssemblyConfiguration>(); } var asmname = type.Assembly().GetName().Name; var asm = configuration.FirstOrDefault(x => x.AssemblyName == asmname); if (asm == null) { asm = new AssemblyConfiguration() { AssemblyName = asmname, Types = new List <TypeConfiguration>() }; configuration.Add(asm); } typeConfiguration = asm.Types.FirstOrDefault(x => x.FullName == type.FullName); if (typeConfiguration == null) { typeConfiguration = new TypeConfiguration() { FullName = type.FullName, Fields = new List <FieldConfiguration>() }; asm.Types.Add(typeConfiguration); } typeConfiguration.Fields.Add(new FieldConfiguration() { FieldName = field.Name, Value = value }); } #endif } } } }
public void MergeInto(AssemblyConfiguration result) { result.Ignored.AddRange(Ignored); result.Stubbed.AddRange(Stubbed); result.Proxies.AddRange(Proxies); foreach (var kvp in Redirects) { result.Redirects[kvp.Key] = kvp.Value; } }
/// <summary> /// Gets the configuration, given an assembly. /// </summary> /// <param name="assembly">The assembly.</param> /// <returns></returns> private static AssemblyConfiguration GetConfiguration(Assembly assembly) { lock (ConfigurationByAssembly) { var assemblyName = assembly.GetName(); if (!ConfigurationByAssembly.TryGetValue(assemblyName, out var configuration)) { var configurationAttribute = assembly.GetCustomAttributes(typeof(PersistentConfigurationAttribute), false) .OfType <PersistentConfigurationAttribute>().SingleOrDefault(); var persistentDataType = configurationAttribute?.PersistentDataType ?? typeof(PersistentData); var persistentSerializerType = configurationAttribute?.PersistentSerializerType ?? typeof(RegistryPersistentSerializer); configuration = new AssemblyConfiguration { Data = (IPersistentData)GetInstance(persistentDataType, assembly), Serializer = (IPersistentSerializer)GetInstance(persistentSerializerType, assembly) }; ConfigurationByAssembly[assemblyName] = configuration; } return(configuration); } }
public void MergeInto(AssemblyConfiguration result) { result.Ignored.AddRange(Ignored); result.Stubbed.AddRange(Stubbed); result.Proxies.AddRange(Proxies); }
public void MergeInto(AssemblyConfiguration result) { result.Ignored.AddRange(Ignored); result.Stubbed.AddRange(Stubbed); result.Proxies.AddRange(Proxies); }
public void RunTests(AssemblyConfiguration assemblyConfiguration) { RunTests(assemblyConfiguration.Path); }