示例#1
0
        public void TestParseInValidItemSyntax()
        {
            var parser = new BibTexParser(new ItemValidator());
            var bib = parser.Parse(InvalidItemSyntax);

            Assert.AreEqual(0, bib.Count);
        }
示例#2
0
        public void TestParseValidAndInvalid()
        {
            var parser = new BibTexParser(new ItemValidator());
            var bib = parser.Parse(ValidItem);
            bib.AddRange(parser.Parse(InvalidItemKey));

            Assert.AreEqual(1, bib.Count);
            Assert.AreEqual("Hilburn, T.B.and Bagert, D.J.", bib[0].FindFieldValue("Author"));
        }
示例#3
0
        public void TestParseMultipleItems()
        {
            var parser = new BibTexParser(new ItemValidator());
            var bib = parser.Parse(ValidItem);
            bib.AddRange(parser.Parse(ValidItem2));

            Assert.AreEqual(2, bib.Count);
            Assert.AreEqual("Hilburn, T.B.and Bagert, D.J.", bib[0].FindFieldValue("Author"));
            Assert.AreEqual("Pour, G.", bib[1].FindFieldValue("Author"));
        }
示例#4
0
        public void TestParseBibtex()
        {
            var file = Resources.bibtex;

            var fileString = Encoding.Default.GetString(file);

            var parser = new BibTexParser(new ItemValidator());
            var bib = parser.Parse(fileString);

            Assert.AreEqual(23, bib.Count);
        }
示例#5
0
        public void TestParseValidItem()
        {
            var parser = new BibTexParser(new ItemValidator());
            var bib = parser.Parse(ValidItem);

            var item = bib[0];

            Assert.AreEqual(1, bib.Count);
            Assert.AreEqual(Item.ItemType.InProceedings, item.Type);
            Assert.AreEqual("Hilburn, T.B.and Bagert, D.J.", item.FindFieldValue("Author"));
        }
示例#6
0
 public void TestParseInValidItemType()
 {
     var parser = new BibTexParser(new ItemValidator());
     var bib = parser.Parse(InvalidItemType);
 }
示例#7
0
        /// <summary>
        /// Convert a studyDTO to a study object
        /// </summary>
        /// <param name="studyDto">DTO to be converted</param>
        /// <returns></returns>
        private Study ConvertStudy(StudyDto studyDto)
        {
            var study = new Study
            {
                IsFinished = false,
                Name = studyDto.Name,
                Team = _teamStorage.GetTeam(studyDto.Team.Id),
                Items = new List<Item>(),
                Stages = new List<Stage>()
            };
            //Parse items
            var parser = new BibTexParser(new ItemValidator());
            var fileString = Encoding.Default.GetString(studyDto.Items);
            study.Items = parser.Parse(fileString);

            var firstStage = true;

            foreach (var stageDto in studyDto.Stages)
            {
                var stage = CreateStage(stageDto);

                study.Stages.Add(stage);

                if (firstStage)
                {
                    stage.IsCurrentStage = true;
                }

                firstStage = false;
            }
            return study;
        }