public void Test_CommentStoreXmlDoc_WithCrefAndTwoPara() { var store = new CommentStore(); XmlDocument doc = new XmlDocument(); doc.LoadXml( @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory""> <summary> Does some stuff And some more stuff IObjectCollectionControl (for <see cref=""T:Rdmp.UI.Collections.RDMPCollectionUI""/> see <see cref=""T:ResearchDataManagementPlatform.WindowManagement.WindowManager""/>). <para> paragraph 2 got it? </para> </summary> <exception cref=""T:System.ArgumentOutOfRangeException"">This text shouldn't appear</exception> </member>"); store.AddXmlDoc(doc.FirstChild); Assert.AreEqual( @"Does some stuff And some more stuff IObjectCollectionControl (for RDMPCollectionUI see WindowManager ). paragraph 2 got it?" , store["WindowFactory"]); }
public void Test_CommentStoreXmlDoc_TwoPara() { var store = new CommentStore(); XmlDocument doc = new XmlDocument(); doc.LoadXml( @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory""> <summary> Does some stuff This is still one para <para> this is next para </para> </summary> </member>"); store.AddXmlDoc(doc.FirstChild); Assert.AreEqual( @"Does some stuff This is still one para this is next para" , store["WindowFactory"]); }
private void PopulateBasicCommandInfo(StringBuilder sb) { var help = new CommentStore(); help.ReadComments(Environment.CurrentDirectory); // Basic info about command sb.AppendLine("Name: " + _commandType.Name); var helpText = help.GetTypeDocumentationIfExists(_commandType); if (helpText != null) { sb.AppendLine(); sb.AppendLine("Description: " + helpText); } sb.AppendLine(); sb.AppendLine("USAGE: "); sb.Append(EnvironmentInfo.IsLinux ? "./rdmp" : "./rdmp.exe"); sb.Append(" cmd "); sb.Append(BasicCommandExecution.GetCommandName(_commandType.Name)); sb.Append(" "); }
public TestActivateItems(UITests uiTests, MemoryDataExportRepository repo) : base(new RepositoryProvider(repo), new ToMemoryCheckNotifier()) { _uiTests = uiTests; Results = new TestActivateItemsResults(); RefreshBus = new RefreshBus(); //don't load the comment store for every single test if (_commentStore == null) { _commentStore = new CommentStore(); _commentStore.ReadComments(TestContext.CurrentContext.TestDirectory); } CommentStore = _commentStore; CoreChildProvider = new DataExportChildProvider(RepositoryLocator, null, Results); CoreIconProvider = new DataExportIconProvider(RepositoryLocator, null); FavouritesProvider = new FavouritesProvider(this, repo.CatalogueRepository); _problemProviders = new List <IProblemProvider>(new IProblemProvider[] { new CatalogueProblemProvider(), new DataExportProblemProvider() }); PluginUserInterfaces = new List <IPluginUserInterface>(); }
public void RefreshRepositoriesFromUserSettings() { //we have mef? MEF mef = null; CommentStore commentStore = null; //if we have a catalogue repository with loaded MEF then grab it if (_linkedRepositoryProvider != null && _linkedRepositoryProvider.CatalogueRepository != null) { if (_linkedRepositoryProvider.CatalogueRepository.MEF != null) { mef = _linkedRepositoryProvider.CatalogueRepository.MEF; } if (_linkedRepositoryProvider.CatalogueRepository.CommentStore != null) { commentStore = _linkedRepositoryProvider.CatalogueRepository.CommentStore; } } //user must have a Catalogue string catalogueString = UserSettings.CatalogueConnectionString; //user may have a DataExportManager string dataExportManagerConnectionString = UserSettings.DataExportConnectionString; LinkedRepositoryProvider newrepo; try { newrepo = new LinkedRepositoryProvider(catalogueString, dataExportManagerConnectionString); } catch (Exception ex) { throw new CorruptRepositoryConnectionDetailsException($"Unable to create {nameof(LinkedRepositoryProvider)}", ex); } //preserve the currently loaded MEF assemblies //if we have a new repo if (newrepo.CatalogueRepository != null) { //and the new repo doesn't have MEF loaded if (newrepo.CatalogueRepository.MEF != null && !newrepo.CatalogueRepository.MEF.HaveDownloadedAllAssemblies && mef != null && mef.HaveDownloadedAllAssemblies) { //use the old MEF newrepo.CatalogueRepository.MEF = mef; } newrepo.CatalogueRepository.CommentStore = commentStore ?? newrepo.CatalogueRepository.CommentStore; } _linkedRepositoryProvider = newrepo; }
public void GenerateReport(CommentStore commentStore, ICheckNotifier notifier, IIconProvider iconProvider, MEF mef, bool showFile) { _mef = mef; _commentStore = commentStore; try { Check(notifier); using (var document = GetNewDocFile("RDMPDocumentation")) { var t = InsertTable(document, (Summaries.Count * 2) + 1, 1); //Listing Cell header SetTableCell(t, 0, 0, "Tables"); Type[] keys = Summaries.Keys.ToArray(); for (int i = 0; i < Summaries.Count; i++) { //creates the run SetTableCell(t, (i * 2) + 1, 0, ""); var bmp = iconProvider.GetImage(keys[i]); if (bmp != null) { var para = t.Rows[(i * 2) + 1].GetCell(0).Paragraphs.First(); var run = para.Runs.FirstOrDefault() ?? para.CreateRun(); GetPicture(run, bmp); } SetTableCell(t, (i * 2) + 1, 0, " " + keys[i].Name); SetTableCell(t, (i * 2) + 2, 0, Summaries[keys[i]]); } if (showFile) { ShowFile(document); } } } catch (Exception e) { notifier.OnCheckPerformed(new CheckEventArgs("Report generation failed", CheckResult.Fail, e)); } }
public void Test_CommentStoreXmlDoc_Basic() { var store = new CommentStore(); XmlDocument doc = new XmlDocument(); doc.LoadXml( @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory""> <summary> Does some stuff </summary> </member>"); store.AddXmlDoc(doc.FirstChild); Assert.AreEqual( @"Does some stuff" , store["WindowFactory"]); }
public void Test_DocumentationReportDatabaseEntities_Normal() { var store = new CommentStore(); store.ReadComments(TestContext.CurrentContext.TestDirectory); SetupMEF(); var reporter = new DocumentationReportDatabaseEntities(); Bitmap bmp = new Bitmap(19, 19); using (var g = Graphics.FromImage(bmp)) g.DrawRectangle(new Pen(Color.DarkMagenta), 5, 5, 5, 5); var iconProvider = Mock.Of <IIconProvider>(m => m.GetImage(It.IsAny <object>(), It.IsAny <OverlayKind>()) == bmp); reporter.GenerateReport(store, new ThrowImmediatelyCheckNotifier(), iconProvider, MEF, false); }
public void Test_CommentStoreXmlDoc_EmptyElements() { var store = new CommentStore(); XmlDocument doc = new XmlDocument(); doc.LoadXml( @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory""> <summary></summary> </member>"); //shouldn't bomb store.AddXmlDoc(null); //also shouldn't bomb but should be 0 store.AddXmlDoc(doc.FirstChild.FirstChild); Assert.IsEmpty(store); store.AddXmlDoc(doc.FirstChild); Assert.IsEmpty(store); doc.LoadXml( @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory""> <summary> </summary> </member>"); store.AddXmlDoc(doc.FirstChild); Assert.IsEmpty(store); doc.LoadXml( @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory""> <summary> a </summary> </member>"); store.AddXmlDoc(doc.FirstChild); Assert.IsNotEmpty(store); }
public TestActivateItems(UITests uiTests, MemoryDataExportRepository repo) : base(new RepositoryProvider(repo), new ToMemoryCheckNotifier()) { _uiTests = uiTests; Results = new TestActivateItemsResults(); RefreshBus = new RefreshBus(); //don't load the comment store for every single test if (_commentStore == null) { _commentStore = new CommentStore(); _commentStore.ReadComments(TestContext.CurrentContext.TestDirectory); } CommentStore = _commentStore; HistoryProvider = new HistoryProvider(RepositoryLocator); _problemProviders = new List <IProblemProvider>(new IProblemProvider[] { new CatalogueProblemProvider(), new DataExportProblemProvider() }); }
public StandardPipelineUseCaseNode(string caption, PipelineUseCase useCase, CommentStore commentStore) : base(caption) { _commentStore = commentStore; UseCase = useCase; }
public HomeController(UserStore userStore, IConfiguration configuration, CommentStore commentStore) { _userStore = userStore; _configuration = configuration; _commentStore = commentStore; }
public ChatHub(UserContext userContext, CommentStore commentStore, OnlineStore onlineStore) { _userContext = userContext; _commentStore = commentStore; _onlineStore = onlineStore; }
public override void Execute() { base.Execute(); var invoker = new CommandInvoker(BasicActivator); var commandCtor = invoker.GetConstructor(_commandType); var help = new CommentStore(); help.ReadComments(Environment.CurrentDirectory); var sb = new StringBuilder(); if (commandCtor == null || !invoker.IsSupported(commandCtor)) { sb.AppendLine($"Command '{_commandType.Name}' is not supported by the current input type ({BasicActivator.GetType().Name})"); } else { sb.AppendLine("COMMAND:" + _commandType.FullName); var helpText = help.GetTypeDocumentationIfExists(_commandType); if (helpText != null) { sb.AppendLine(helpText); } sb.AppendLine("USAGE:"); sb.Append(EnvironmentInfo.IsLinux ? "./rdmp" : "./rdmp.exe"); sb.Append(" cmd "); sb.Append(BasicCommandExecution.GetCommandName(_commandType.Name)); sb.Append(" "); var sbParameters = new StringBuilder(); sbParameters.AppendLine("PARAMETERS:"); foreach (ParameterInfo p in commandCtor.GetParameters()) { var req = new RequiredArgument(p); //automatic delegates require no user input or CLI entry (e.g. IActivateItems) if (invoker.GetDelegate(req).IsAuto) { continue; } sb.Append($"<{req.Name}> "); sbParameters.AppendLine($"{req.Name}\t{req.Type.Name}\t{req.DemandIfAny?.Description}"); } sb.AppendLine(); sb.AppendLine(sbParameters.ToString()); } BasicActivator.Show(sb.ToString()); }