public void Level2_ContinuationContainsLevel3_Distinct()
{
QuotationMarksList qMarks = QuotationMarksList.NewList();
qMarks.EnsureLevelExists(3);
qMarks[0].Opening = "«"; // Left-pointing double angle quotation mark
qMarks[0].Closing = "»"; // Right-pointing double angle quotation mark
qMarks[1].Opening = "\u201C"; // Left double quotation mark
qMarks[1].Closing = "\u201D"; // Right double quotation mark
qMarks[2].Opening = "\u2018"; // Left single quotation mark
qMarks[2].Closing = "\u2019"; // Right single quotation mark
qMarks.ContinuationType = ParagraphContinuationType.RequireAll;
qMarks.ContinuationMark = ParagraphContinuationMark.Opening;
m_dataSource.SetParameterValue("QuotationMarkInfo", qMarks.XmlString);
m_dataSource.m_tokens.Add(new DummyTextToken("27", TextType.ChapterNumber,
true, false, "Paragraph", "Chapter Number"));
m_dataSource.m_tokens.Add(new DummyTextToken("2", TextType.VerseNumber,
false, false, "Paragraph", "Verse Number"));
m_dataSource.m_tokens.Add(new DummyTextToken("«Level one.", TextType.Verse,
false, false, "Paragraph"));
m_dataSource.m_tokens.Add(new DummyTextToken("3", TextType.VerseNumber,
false, false, "Paragraph", "Verse Number"));
m_dataSource.m_tokens.Add(new DummyTextToken("Say, \u201CLevel two says:", TextType.Verse,
false, false, "Paragraph"));
m_dataSource.m_tokens.Add(new DummyTextToken("4", TextType.VerseNumber,
true, false, "Line1", "Verse Number"));
m_dataSource.m_tokens.Add(new DummyTextToken("« \u201CContinuation says,", TextType.Verse,
false, false, "Line1"));
m_dataSource.m_tokens.Add(new DummyTextToken("\u2018Level three.\u2019", TextType.Verse,
true, false, "Line2"));
m_dataSource.m_tokens.Add(new DummyTextToken(string.Empty, TextType.Other,
true, false, "Stanza Break"));
m_dataSource.m_tokens.Add(new DummyTextToken("10", TextType.VerseNumber,
true, false, "Line1", "Verse Number"));
m_dataSource.m_tokens.Add(new DummyTextToken("« \u201CContinuation.", TextType.Verse,
false, false, "Line1"));
m_dataSource.m_tokens.Add(new DummyTextToken("12", TextType.VerseNumber,
true, false, "Paragraph", "Verse Number"));
m_dataSource.m_tokens.Add(new DummyTextToken("« \u201CContinuation into prose, and then into lines again.\u201D »", TextType.Verse,
false, false, "Paragraph"));
m_check.Check(m_dataSource.TextTokens(), RecordError);
Assert.AreEqual(0, m_errors.Count);
}