/// <summary> /// Internal constructor for creating a ScrVers directly with a versification /// </summary> internal ScrVers(Versification versInfo) { this.versInfo = versInfo; type = versInfo.Type; }
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); }
/// <summary> /// Initializes a new instance of the <see cref="ScrVers"/> class for the specified known type. /// </summary> public ScrVers(ScrVersType type) { this.type = type; }
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)); }