Ejemplo n.º 1
0
        private XMLBibliographyCreator GetInitializedCreator()
        {
            var creator = new XMLBibliographyCreator();

            creator.Initialize(writer); // using StringBuilder overload to not affect file system.
            return(creator);
        }
Ejemplo n.º 2
0
        public void ApplyChanges_SingleValidSource_OutputsCorrectXML()
        {
            XMLBibliographyCreator creator = GetInitializedCreator();

            creator.AddSource(fullValidJournalArticle);
            creator.ApplyChanges();

            Assert.AreEqual(ValidXMLOutputContentsSingle, writer.ToString());
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        public void ApplyChanges_NoChanges_Throws()
        {
            XMLBibliographyCreator creator = GetInitializedCreator();

            creator.ApplyChanges();
        }
Ejemplo n.º 6
0
        public void ApplyChanges_NotInitialized_Throws()
        {
            var creator = new XMLBibliographyCreator();

            creator.ApplyChanges();
        }
Ejemplo n.º 7
0
        public void AddSource_SupportedSource_Passes()
        {
            XMLBibliographyCreator creator = GetInitializedCreator();

            creator.AddSource(fullValidJournalArticle);
        }
Ejemplo n.º 8
0
        public void AddSource_UnsupportedSource_Throws()
        {
            XMLBibliographyCreator creator = GetInitializedCreator();

            creator.AddSource(emptyArticleInPeriodical);
        }