public void Setup() { try { var types = new List <TypeDefinition>(); var parts = new List <PartDefinition>(); var groups = new List <GroupDefinition>(); var repository = new Mock <IPluginRepository>(); { repository.Setup(r => r.ContainsDefinitionForType(It.IsAny <string>())) .Returns <string>(n => types.Any(t => t.Identity.AssemblyQualifiedName.Equals(n))); repository.Setup(r => r.ContainsDefinitionForType(It.IsAny <TypeIdentity>())) .Returns <TypeIdentity>(n => types.Any(t => t.Identity.Equals(n))); repository.Setup(r => r.IdentityByName(It.IsAny <string>())) .Returns <string>(n => types.Where(t => t.Identity.AssemblyQualifiedName.Equals(n)).Select(t => t.Identity).First()); repository.Setup(r => r.Parts()) .Returns(parts); repository.Setup(r => r.AddType(It.IsAny <TypeDefinition>())) .Callback <TypeDefinition>(types.Add); repository.Setup(r => r.AddPart(It.IsAny <PartDefinition>(), It.IsAny <PluginFileInfo>())) .Callback <PartDefinition, PluginFileInfo>((p, f) => parts.Add(p)); repository.Setup(r => r.AddGroup(It.IsAny <GroupDefinition>(), It.IsAny <PluginFileInfo>())) .Callback <GroupDefinition, PluginFileInfo>((g, f) => groups.Add(g)); } var importEngine = new Mock <IConnectParts>(); { importEngine.Setup(i => i.Accepts(It.IsAny <SerializableImportDefinition>(), It.IsAny <SerializableExportDefinition>())) .Returns(true); } var scanner = new RemoteAssemblyScanner( repository.Object, importEngine.Object, new Mock <ILogMessagesFromRemoteAppDomains>().Object, () => new FixedScheduleBuilder()); var localPath = Assembly.GetExecutingAssembly().LocalFilePath(); scanner.Scan(new List <string> { localPath }); s_Types = types; s_Parts = parts; s_Groups = groups; } catch (Exception e) { Trace.WriteLine( string.Format( CultureInfo.InvariantCulture, "Exception in RemoteAssemblyScannerTest.Setup: {0}", e)); throw; } }
public void Setup() { try { var types = new List<TypeDefinition>(); var parts = new List<PartDefinition>(); var groups = new List<GroupDefinition>(); var repository = new Mock<IPluginRepository>(); { repository.Setup(r => r.ContainsDefinitionForType(It.IsAny<string>())) .Returns<string>(n => types.Any(t => t.Identity.AssemblyQualifiedName.Equals(n))); repository.Setup(r => r.ContainsDefinitionForType(It.IsAny<TypeIdentity>())) .Returns<TypeIdentity>(n => types.Any(t => t.Identity.Equals(n))); repository.Setup(r => r.IdentityByName(It.IsAny<string>())) .Returns<string>(n => types.Where(t => t.Identity.AssemblyQualifiedName.Equals(n)).Select(t => t.Identity).First()); repository.Setup(r => r.Parts()) .Returns(parts); repository.Setup(r => r.AddType(It.IsAny<TypeDefinition>())) .Callback<TypeDefinition>(types.Add); repository.Setup(r => r.AddPart(It.IsAny<PartDefinition>(), It.IsAny<PluginFileInfo>())) .Callback<PartDefinition, PluginFileInfo>((p, f) => parts.Add(p)); repository.Setup(r => r.AddGroup(It.IsAny<GroupDefinition>(), It.IsAny<PluginFileInfo>())) .Callback<GroupDefinition, PluginFileInfo>((g, f) => groups.Add(g)); } var importEngine = new Mock<IConnectParts>(); { importEngine.Setup(i => i.Accepts(It.IsAny<SerializableImportDefinition>(), It.IsAny<SerializableExportDefinition>())) .Returns(true); } var scanner = new RemoteAssemblyScanner( repository.Object, importEngine.Object, new Mock<ILogMessagesFromRemoteAppDomains>().Object, () => new FixedScheduleBuilder()); var localPath = Assembly.GetExecutingAssembly().LocalFilePath(); scanner.Scan(new List<string> { localPath }); s_Types = types; s_Parts = parts; s_Groups = groups; } catch (Exception e) { Trace.WriteLine( string.Format( CultureInfo.InvariantCulture, "Exception in RemoteAssemblyScannerTest.Setup: {0}", e)); throw; } }