Ejemplo n.º 1
0
        public IActionResult Get(string scripture)
        {
            if (scripture.NullOrEmpty())
            {
                return(NotFound());
            }

            return(Ok(ScriptureOps.ParseScriptureFromString(scripture)));
        }
        public void BasicReferenceWithChapterRange()
        {
            string scripture = "Genesis 1:1-2:3";

            var parsed = ScriptureOps.ParseScriptureFromString(scripture);

            Assert.AreEqual(parsed.Count, 1);
            Assert.AreEqual(parsed.First().Book, "Genesis");
            Assert.AreEqual(parsed.First().StartChapter, 1);
            Assert.AreEqual(parsed.First().StartVerse, 1);
            Assert.AreEqual(parsed.First().EndChapter, 2);
            Assert.AreEqual(parsed.First().EndVerse, 3);
        }
        public void ChapterRangeNoVerses()
        {
            string scripture = "Genesis 1-4";

            var parsed = ScriptureOps.ParseScriptureFromString(scripture);

            Assert.AreEqual(parsed.Count, 1);
            Assert.AreEqual(parsed.First().Book, "Genesis");
            Assert.AreEqual(parsed.First().StartChapter, 1);
            Assert.AreEqual(parsed.First().StartVerse, null);
            Assert.AreEqual(parsed.First().EndChapter, 4);
            Assert.AreEqual(parsed.First().EndVerse, null);
        }
        public void DualReferenceWithChapterRange()
        {
            string scripture = "Genesis 1:2-8;Genesis 3:4-5:6";

            var parsed = ScriptureOps.ParseScriptureFromString(scripture);

            Assert.AreEqual(parsed.Count, 2);
            Assert.AreEqual(parsed.First().Book, "Genesis");
            Assert.AreEqual(parsed.First().StartChapter, 1);
            Assert.AreEqual(parsed.First().StartVerse, 2);
            Assert.AreEqual(parsed.First().EndChapter, null);
            Assert.AreEqual(parsed.First().EndVerse, 8);
            Assert.AreEqual(parsed.Last().Book, "Genesis");
            Assert.AreEqual(parsed.Last().StartChapter, 3);
            Assert.AreEqual(parsed.Last().StartVerse, 4);
            Assert.AreEqual(parsed.Last().EndChapter, 5);
            Assert.AreEqual(parsed.Last().EndVerse, 6);
        }
        public void DualReferenceSingleUndefinedBookVerseRange()
        {
            string scripture = "Genesis 1:2-8;3:4";

            var parsed = ScriptureOps.ParseScriptureFromString(scripture);

            Assert.AreEqual(parsed.Count, 2);
            Assert.AreEqual(parsed.First().Book, "Genesis");
            Assert.AreEqual(parsed.First().StartChapter, 1);
            Assert.AreEqual(parsed.First().StartVerse, 2);
            Assert.AreEqual(parsed.First().EndChapter, null);
            Assert.AreEqual(parsed.First().EndVerse, 8);
            Assert.AreEqual(parsed.Last().Book, "Genesis");
            Assert.AreEqual(parsed.Last().StartChapter, 3);
            Assert.AreEqual(parsed.Last().StartVerse, 4);
            Assert.AreEqual(parsed.Last().EndChapter, null);
            Assert.AreEqual(parsed.Last().EndVerse, null);
        }
        public void MultipleBooksSingleBookMultiChapterWithSingleBookChapterRange()
        {
            string scripture = "Genesis 16; 21; 1 John 4:21-5:1";

            var parsed = ScriptureOps.ParseScriptureFromString(scripture);

            Assert.AreEqual(parsed.Count, 3);
            Assert.AreEqual(parsed[0].Book, "Genesis");
            Assert.AreEqual(parsed[0].StartChapter, 16);
            Assert.AreEqual(parsed[0].StartVerse, null);
            Assert.AreEqual(parsed[0].EndChapter, null);
            Assert.AreEqual(parsed[0].EndVerse, null);
            Assert.AreEqual(parsed[1].Book, "Genesis");
            Assert.AreEqual(parsed[1].StartChapter, 21);
            Assert.AreEqual(parsed[1].StartVerse, null);
            Assert.AreEqual(parsed[1].EndChapter, null);
            Assert.AreEqual(parsed[1].EndVerse, null);
            Assert.AreEqual(parsed[2].Book, "1 John");
            Assert.AreEqual(parsed[2].StartChapter, 4);
            Assert.AreEqual(parsed[2].StartVerse, 21);
            Assert.AreEqual(parsed[2].EndChapter, 5);
            Assert.AreEqual(parsed[2].EndVerse, 1);
        }