private XMLBibliographyCreator GetInitializedCreator() { var creator = new XMLBibliographyCreator(); creator.Initialize(writer); // using StringBuilder overload to not affect file system. return(creator); }
public void ApplyChanges_SingleValidSource_OutputsCorrectXML() { XMLBibliographyCreator creator = GetInitializedCreator(); creator.AddSource(fullValidJournalArticle); creator.ApplyChanges(); Assert.AreEqual(ValidXMLOutputContentsSingle, writer.ToString()); }
private void Start() { if (PathsSelected()) { ResultText = string.Empty; IList <JournalArticle> sources = new List <JournalArticle>(); // Convert from text to objects: try { var parser = new JournalArticleParser(); sources = parser.ParseFromFile(InputPath); } catch (ParsingException e) { ResultText = e.Message; return; } catch (Exception) { ResultText = "BŁĄD odczytu wybranego pliku .txt"; return; } // Convert from objects to MS Office bibliography XML file: try { var XMLCreator = new XMLBibliographyCreator(); XMLCreator.Initialize(OutputPath); foreach (Source source in sources) { XMLCreator.AddSource(source); } XMLCreator.ApplyChanges(); } catch (Exception) { ResultText = "BŁĄD zapisu pliku .xml"; return; } } else { ResultText = "BŁĄD! Najpierw wybierz plik wejściowy i wyjściowy."; return; } ResultText = "Plik przekonwertowany pomyślnie! :)"; bool PathsSelected() => !string.IsNullOrEmpty(InputPath) && !string.IsNullOrEmpty(OutputPath); }
public void ApplyChanges_MultipleValidSources_OutputsCorrectXML() { var sources = new List <Source>() { new JournalArticle { Guid = "{BFBC5CD3-6C53-4139-B970-597CE2F1550E}", Title = "A", JournalName = "A", Year = "2000", Month = "1", Volume = 1, Issue = 1, Pages = "25-6", Authors = new List <Person>() { new Person() { Last = "A", Middle = "A", First = "A" } } }, new JournalArticle { Guid = "{A1897368-CA90-4D6E-A59F-A3B5461EBA45}", Title = "B", JournalName = "B", Year = "2000", Month = "2", Volume = 3, Issue = 2, Pages = "69-72", Authors = new List <Person>() { new Person() { Last = "B", Middle = "B", First = "B" } } }, new JournalArticle { Guid = "{ADACDE88-5BEA-41CC-8777-07AB04CEA6ED}", Title = "C", JournalName = "C", Year = "2000", Month = "3", Volume = 3, Issue = 33, Pages = "33-6", Authors = new List <Person>() { new Person() { Last = "C", Middle = "C", First = "C" } } } }; XMLBibliographyCreator creator = GetInitializedCreator(); foreach (var source in sources) { creator.AddSource(source); } creator.ApplyChanges(); Assert.AreEqual(ValidXMLOutputContentsMultiple, writer.ToString()); }
public void ApplyChanges_NoChanges_Throws() { XMLBibliographyCreator creator = GetInitializedCreator(); creator.ApplyChanges(); }
public void ApplyChanges_NotInitialized_Throws() { var creator = new XMLBibliographyCreator(); creator.ApplyChanges(); }
public void AddSource_SupportedSource_Passes() { XMLBibliographyCreator creator = GetInitializedCreator(); creator.AddSource(fullValidJournalArticle); }
public void AddSource_UnsupportedSource_Throws() { XMLBibliographyCreator creator = GetInitializedCreator(); creator.AddSource(emptyArticleInPeriodical); }