Esempio n. 1
0
        public void CheckVerseExpanding(string originalVerse, int versesCount, string[] notFoundVerses, params string[] verses)
        {
            if (notFoundVerses == null)
            {
                notFoundVerses = new string[0];
            }

            var actualVerse = _versePointerFactory.CreateVersePointer(originalVerse);

            _verseCorrectionService.CheckAndCorrectVerse(actualVerse);

            Assert.AreEqual(versesCount, actualVerse.SubVerses.VersesCount, "Verses count is wrong.");
            Assert.AreEqual(verses.Length, actualVerse.SubVerses.Verses.Count, "VersePointers count is wrong.");
            Assert.AreEqual(notFoundVerses.Length, actualVerse.SubVerses.NotFoundVerses.Count, "NotFoundVersePointers count is wrong.");

            foreach (var verse in verses)
            {
                Assert.IsTrue(actualVerse.SubVerses.Verses.Contains(_versePointerFactory.CreateVersePointer(verse).ToModuleVersePointer()), "Can not find the verse: '{0}'", verse);
            }

            foreach (var verse in notFoundVerses)
            {
                Assert.IsTrue(actualVerse.SubVerses.NotFoundVerses.Contains(_versePointerFactory.CreateVersePointer(verse).ToModuleVersePointer()), "Can not find the verse: '{0}'", verse);
            }
        }
        public bool TryRecognizeVerse(VerseEntry verseEntry, IDocumentParseContext docParseContext)
        {
            if (!verseEntry.VersePointerFound)
            {
                return(false);
            }

            foreach (var func in _funcs[verseEntry.EntryType])
            {
                if (func(verseEntry, docParseContext))
                {
                    return(_verseCorrectionService.CheckAndCorrectVerse(verseEntry.VersePointer));
                }
            }

            return(false);
        }