Esempio n. 1
0
 /// <summary>
 /// Internal constructor for creating a ScrVers directly with a versification
 /// </summary>
 internal ScrVers(Versification versInfo)
 {
     this.versInfo = versInfo;
     type          = versInfo.Type;
 }
Esempio n. 2
0
        public void AssignAll_MultiverseQuoteWithTwoCharactersInFirstVerseAndOneCharacterInSecond_AssignedToCharacterRatherThanAmbiguous(ScrVersType vers)
        {
            var versification = new ScrVers(vers);
            var cvInfo        = MockRepository.GenerateMock <ICharacterVerseInfo>();

            StubGetCharactersForSingleVerse(cvInfo, kMATbookNum, 17, 26, versification, new[]
            {
                new CharacterSpeakingMode("Peter (Simon)", null, null, false),
                new CharacterSpeakingMode("Jesus", null, null, false),
            });
            StubGetCharactersForSingleVerse(cvInfo, kMATbookNum, 17, 27, versification, new[]
            {
                new CharacterSpeakingMode("Jesus", null, null, false)
            });

            var bookScript = new BookScript("MAT",
                                            new List <Block>
            {
                new Block
                {
                    ChapterNumber           = 17,
                    InitialStartVerseNumber = 26,
                    BlockElements           = new List <BlockElement>
                    {
                        new ScriptText("This quote starts in verse 26 ")
                    },
                    CharacterId     = "Jesus",
                    MultiBlockQuote = MultiBlockQuote.Start
                },
                new Block
                {
                    ChapterNumber           = 17,
                    InitialStartVerseNumber = 27,
                    BlockElements           = new List <BlockElement>
                    {
                        new Verse("27"),
                        new ScriptText("and continues in verse 27")
                    },
                    CharacterId     = "Jesus",
                    MultiBlockQuote = MultiBlockQuote.Continuation
                }
            },
                                            versification
                                            );

            Assert.AreEqual("Jesus", bookScript.Blocks[0].CharacterId);
            Assert.AreEqual("Jesus", bookScript.Blocks[1].CharacterId);
            Assert.AreEqual(MultiBlockQuote.Start, bookScript.Blocks[0].MultiBlockQuote);
            Assert.AreEqual(MultiBlockQuote.Continuation, bookScript.Blocks[1].MultiBlockQuote);

            var characterAssigner = new CharacterAssigner(cvInfo);

            characterAssigner.AssignAll(new[] { bookScript }, false);

            Assert.AreEqual("Jesus", bookScript.Blocks[0].CharacterId);
            Assert.AreEqual("Jesus", bookScript.Blocks[1].CharacterId);
            Assert.AreEqual(MultiBlockQuote.Start, bookScript.Blocks[0].MultiBlockQuote);
            Assert.AreEqual(MultiBlockQuote.Continuation, bookScript.Blocks[1].MultiBlockQuote);
        }
Esempio n. 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ScrVers"/> class for the specified known type.
 /// </summary>
 public ScrVers(ScrVersType type)
 {
     this.type = type;
 }
Esempio n. 4
0
        public void AssignAll_AssignedQuoteBlocksAndAmbiguousInterruptionBlock_NotModified(ScrVersType vers)
        {
            var versification = new ScrVers(vers);
            var bookScript    = XmlSerializationHelper.DeserializeFromString <BookScript>(@"
				<book id=""MRK"">
					<block style=""p"" chapter=""13"" initialStartVerse=""14"" characterId=""Jesus"" userConfirmed=""false"" multiBlockQuote=""Start"">
						<verse num=""14"" />
						<text>Oona gwine see ‘De Horrible Bad Ting wa mek God place empty’ da stanop een de place weh e ain oughta dey. </text>
					</block>
					<block style=""p"" chapter=""13"" initialStartVerse=""14"" characterId=""Ambiguous"" userConfirmed=""false"">
						<text>(Leh oona wa da read ondastan wa dis mean.) </text>
					</block>
					<block style=""p"" chapter=""13"" initialStartVerse=""14"" characterId=""Jesus"" userConfirmed=""false"" multiBlockQuote=""Start"">
						<text>Wen dat time come, de people een Judea mus ron way quick ta de hill country. </text>
					</block>
				</book>"                );

            bookScript.Initialize(versification);
            var cvInfo = MockRepository.GenerateMock <ICharacterVerseInfo>();

            StubGetCharactersForSingleVerse(cvInfo, kMRKbookNum, 13, 14, versification, new[]
            {
                new CharacterSpeakingMode("Jesus", null, null, false, QuoteType.Normal),
                new CharacterSpeakingMode("narrator-MRK", null, null, false, QuoteType.Interruption)
            });

            Assert.IsFalse(bookScript.GetScriptBlocks().Any(b => b.UserConfirmed));

            new CharacterAssigner(cvInfo).AssignAll(new[] { bookScript }, false, false);
            Assert.AreEqual("Jesus", bookScript[0].CharacterId);
            Assert.AreEqual(CharacterVerseData.kAmbiguousCharacter, bookScript[1].CharacterId);
            Assert.AreEqual("Jesus", bookScript[2].CharacterId);
            Assert.IsFalse(bookScript.GetScriptBlocks().Any(b => b.UserConfirmed));
        }