public void OneSegPerVerse()
		{
			string pc1 = "Das Buch ist rot. ";
			string verse1 = "9";
			string pc2 = "Der Herr ist gross.";
			string verse2 = "10";
			string pc3 = "Ich spreche nicht viel Deutsch.";

			ITsStrBldr bldr = m_tsf.MakeString(pc1 + verse1 + pc2 + verse2 + pc3, m_wsVern).GetBldr();
			bldr.SetStrPropValue(pc1.Length, pc1.Length + verse1.Length, (int)FwTextPropType.ktptNamedStyle,
								 ScrStyleNames.VerseNumber);
			int ichV2 = pc1.Length + verse1.Length + pc2.Length;
			bldr.SetStrPropValue(ichV2, ichV2 + verse2.Length, (int)FwTextPropType.ktptNamedStyle,
								 ScrStyleNames.VerseNumber);
			m_para.Contents = bldr.GetString();
			using (ParagraphParser pp = new ParagraphParser(m_para))
			{
				List<int> eosIndexes;
				var segments = pp.CollectSegments(m_para.Contents, out eosIndexes);
				Assert.AreEqual(5, segments.Count);
				Assert.AreEqual("", ScriptureServices.VerseSegLabel(m_para, 0));
				Assert.AreEqual("", ScriptureServices.VerseSegLabel(m_para, 2));
				Assert.AreEqual("", ScriptureServices.VerseSegLabel(m_para, 4));
			}
		}
		public void TwoSegsPerVerse()
		{
			string pc1 = "Das Buch ist rot. ";
			string pc2 = "Das Maedchen ist schoen.";
			string verse1 = "9";
			string pc3 = "Der Herr ist gross.";
			string pc4 = "Ich spreche nicht viel Deutsch.";
			string verse2 = "10";
			string pc5 = "Was ist das?";
			string pc6 = "Wie gehts?";

			ITsStrBldr bldr = m_tsf.MakeString(pc1 + pc2 + verse1 + pc3 + pc4 + verse2 + pc5 + pc6, m_wsVern).GetBldr();
			bldr.SetStrPropValue(pc1.Length + pc2.Length, pc1.Length + pc2.Length + verse1.Length, (int)FwTextPropType.ktptNamedStyle,
								 ScrStyleNames.VerseNumber);
			int ichEndV1 = pc1.Length + pc2.Length + verse1.Length + pc3.Length + pc4.Length;
			bldr.SetStrPropValue(ichEndV1, ichEndV1 + verse2.Length, (int)FwTextPropType.ktptNamedStyle,
								 ScrStyleNames.VerseNumber);
			m_para.Contents = bldr.GetString();
			using (ParagraphParser pp = new ParagraphParser(m_para))
			{
				List<int> eosIndexes;
				var segments = pp.CollectSegments(m_para.Contents, out eosIndexes);
				Assert.AreEqual(8, segments.Count);
				Assert.AreEqual("a", ScriptureServices.VerseSegLabel(m_para, 0));
				Assert.AreEqual("b", ScriptureServices.VerseSegLabel(m_para, 1));
				Assert.AreEqual("a", ScriptureServices.VerseSegLabel(m_para, 3));
				Assert.AreEqual("b", ScriptureServices.VerseSegLabel(m_para, 4));
				Assert.AreEqual("a", ScriptureServices.VerseSegLabel(m_para, 6));
				Assert.AreEqual("b", ScriptureServices.VerseSegLabel(m_para, 7));
			}
		}
		private IList<ISegment> GetSegments(ITsStrBldr bldr, IScrTxtPara para)
		{
			para.Contents = bldr.GetString();
			using (ParagraphParser pp = new ParagraphParser(para))
			{
				List<int> eosIndexes;
				var segments = pp.CollectSegments(para.Contents, out eosIndexes);
				return segments;
			}
		}