public void TestLast() { RuleBasedBreakIterator rbbi = new RuleBasedBreakIterator(".;"); // Tests when "if (fText == null)" is true rbbi.SetText((CharacterIterator)null); if (rbbi.Last() != BreakIterator.Done) { Errln("RuleBasedBreakIterator.Last() was supposed to return " + "BreakIterator.Done when the object has a null fText."); } }
public void TestLastPreviousPreceding() { int p, q; String testString = "This is a word break. Isn't it? 2.25 dollars"; Logln("Testing last(),previous(), preceding() with custom rules"); Logln("testing word iteration for string \"" + testString + "\""); RuleBasedBreakIterator wordIter1 = (RuleBasedBreakIterator)BreakIterator.GetWordInstance(new CultureInfo("en")); wordIter1.SetText(testString); p = wordIter1.Last(); if (p != testString.Length) { Errln("ERROR: last() returned" + p + "instead of" + testString.Length); } q = wordIter1.Previous(); doTest(testString, p, q, 37, "dollars"); p = q; q = wordIter1.Previous(); doTest(testString, p, q, 36, " "); q = wordIter1.Preceding(25); doTest(testString, 25, q, 22, "Isn"); p = q; q = wordIter1.Previous(); doTest(testString, p, q, 21, " "); q = wordIter1.Preceding(20); doTest(testString, 20, q, 15, "break"); p = wordIter1.Preceding(wordIter1.First()); if (p != BreakIterator.Done) { Errln("ERROR: preceding() at starting position returned #" + p + " instead of 0"); } testString = "Hello! how are you? I'am fine. Thankyou. How are you doing? This costs $20,00,000."; Logln("testing sentence iter - String:- \"" + testString + "\""); RuleBasedBreakIterator sentIter1 = (RuleBasedBreakIterator)BreakIterator.GetSentenceInstance(CultureInfo.CurrentCulture); sentIter1.SetText(testString); p = sentIter1.Last(); if (p != testString.Length) { Errln("ERROR: last() returned" + p + "instead of " + testString.Length); } q = sentIter1.Previous(); doTest(testString, p, q, 60, "This costs $20,00,000."); p = q; q = sentIter1.Previous(); doTest(testString, p, q, 41, "How are you doing? "); q = sentIter1.Preceding(40); doTest(testString, 40, q, 31, "Thankyou."); q = sentIter1.Preceding(25); doTest(testString, 25, q, 20, "I'am "); sentIter1.First(); p = sentIter1.Previous(); q = sentIter1.Preceding(sentIter1.First()); if (p != BreakIterator.Done || q != BreakIterator.Done) { Errln("ERROR: previous()/preceding() at starting position returned #" + p + " and " + q + " instead of 0\n"); } testString = "Hello! how are you? I'am fine. Thankyou. How are you doing? This\n costs $20,00,000."; Logln("testing line iter - String:- \"" + testString + "\""); RuleBasedBreakIterator lineIter1 = (RuleBasedBreakIterator)BreakIterator.GetLineInstance(CultureInfo.CurrentCulture); lineIter1.SetText(testString); p = lineIter1.Last(); if (p != testString.Length) { Errln("ERROR: last() returned" + p + "instead of " + testString.Length); } q = lineIter1.Previous(); doTest(testString, p, q, 72, "$20,00,000."); p = q; q = lineIter1.Previous(); doTest(testString, p, q, 66, "costs "); q = lineIter1.Preceding(40); doTest(testString, 40, q, 31, "Thankyou."); q = lineIter1.Preceding(25); doTest(testString, 25, q, 20, "I'am "); lineIter1.First(); p = lineIter1.Previous(); q = lineIter1.Preceding(sentIter1.First()); if (p != BreakIterator.Done || q != BreakIterator.Done) { Errln("ERROR: previous()/preceding() at starting position returned #" + p + " and " + q + " instead of 0\n"); } }
public void TestFirstNextFollowing() { int p, q; String testString = "This is a word break. Isn't it? 2.25"; Logln("Testing first() and next(), following() with custom rules"); Logln("testing word iterator - string :- \"" + testString + "\"\n"); RuleBasedBreakIterator wordIter1 = (RuleBasedBreakIterator)BreakIterator.GetWordInstance(CultureInfo.CurrentCulture); wordIter1.SetText(testString); p = wordIter1.First(); if (p != 0) { Errln("ERROR: first() returned" + p + "instead of 0"); } q = wordIter1.Next(9); doTest(testString, p, q, 20, "This is a word break"); p = q; q = wordIter1.Next(); doTest(testString, p, q, 21, "."); p = q; q = wordIter1.Next(3); doTest(testString, p, q, 28, " Isn't "); p = q; q = wordIter1.Next(2); doTest(testString, p, q, 31, "it?"); q = wordIter1.Following(2); doTest(testString, 2, q, 4, "is"); q = wordIter1.Following(22); doTest(testString, 22, q, 27, "Isn't"); wordIter1.Last(); p = wordIter1.Next(); q = wordIter1.Following(wordIter1.Last()); if (p != BreakIterator.Done || q != BreakIterator.Done) { Errln("ERROR: next()/following() at last position returned #" + p + " and " + q + " instead of" + testString.Length + "\n"); } RuleBasedBreakIterator charIter1 = (RuleBasedBreakIterator)BreakIterator.GetCharacterInstance(CultureInfo.CurrentCulture); testString = "Write hindi here. "; Logln("testing char iter - string:- \"" + testString + "\""); charIter1.SetText(testString); p = charIter1.First(); if (p != 0) { Errln("ERROR: first() returned" + p + "instead of 0"); } q = charIter1.Next(); doTest(testString, p, q, 1, "W"); p = q; q = charIter1.Next(4); doTest(testString, p, q, 5, "rite"); p = q; q = charIter1.Next(12); doTest(testString, p, q, 17, " hindi here."); p = q; q = charIter1.Next(-6); doTest(testString, p, q, 11, " here."); p = q; q = charIter1.Next(6); doTest(testString, p, q, 17, " here."); p = charIter1.Following(charIter1.Last()); q = charIter1.Next(charIter1.Last()); if (p != BreakIterator.Done || q != BreakIterator.Done) { Errln("ERROR: following()/next() at last position returned #" + p + " and " + q + " instead of" + testString.Length); } testString = "Hello! how are you? I'am fine. Thankyou. How are you doing? This costs $20,00,000."; RuleBasedBreakIterator sentIter1 = (RuleBasedBreakIterator)BreakIterator.GetSentenceInstance(CultureInfo.CurrentCulture); Logln("testing sentence iter - String:- \"" + testString + "\""); sentIter1.SetText(testString); p = sentIter1.First(); if (p != 0) { Errln("ERROR: first() returned" + p + "instead of 0"); } q = sentIter1.Next(); doTest(testString, p, q, 7, "Hello! "); p = q; q = sentIter1.Next(2); doTest(testString, p, q, 31, "how are you? I'am fine. "); p = q; q = sentIter1.Next(-2); doTest(testString, p, q, 7, "how are you? I'am fine. "); p = q; q = sentIter1.Next(4); doTest(testString, p, q, 60, "how are you? I'am fine. Thankyou. How are you doing? "); p = q; q = sentIter1.Next(); doTest(testString, p, q, 83, "This costs $20,00,000."); q = sentIter1.Following(1); doTest(testString, 1, q, 7, "ello! "); q = sentIter1.Following(10); doTest(testString, 10, q, 20, " are you? "); q = sentIter1.Following(20); doTest(testString, 20, q, 31, "I'am fine. "); p = sentIter1.Following(sentIter1.Last()); q = sentIter1.Next(sentIter1.Last()); if (p != BreakIterator.Done || q != BreakIterator.Done) { Errln("ERROR: following()/next() at last position returned #" + p + " and " + q + " instead of" + testString.Length); } testString = "Hello! how\r\n (are)\r you? I'am fine- Thankyou. foo\u00a0bar How, are, you? This, costs $20,00,000."; Logln("(UnicodeString)testing line iter - String:- \"" + testString + "\""); RuleBasedBreakIterator lineIter1 = (RuleBasedBreakIterator)BreakIterator.GetLineInstance(CultureInfo.CurrentCulture); lineIter1.SetText(testString); p = lineIter1.First(); if (p != 0) { Errln("ERROR: first() returned" + p + "instead of 0"); } q = lineIter1.Next(); doTest(testString, p, q, 7, "Hello! "); p = q; p = q; q = lineIter1.Next(4); doTest(testString, p, q, 20, "how\r\n (are)\r "); p = q; q = lineIter1.Next(-4); doTest(testString, p, q, 7, "how\r\n (are)\r "); p = q; q = lineIter1.Next(6); doTest(testString, p, q, 30, "how\r\n (are)\r you? I'am "); p = q; q = lineIter1.Next(); doTest(testString, p, q, 36, "fine- "); p = q; q = lineIter1.Next(2); doTest(testString, p, q, 54, "Thankyou. foo\u00a0bar "); q = lineIter1.Following(60); doTest(testString, 60, q, 64, "re, "); q = lineIter1.Following(1); doTest(testString, 1, q, 7, "ello! "); q = lineIter1.Following(10); doTest(testString, 10, q, 12, "\r\n"); q = lineIter1.Following(20); doTest(testString, 20, q, 25, "you? "); p = lineIter1.Following(lineIter1.Last()); q = lineIter1.Next(lineIter1.Last()); if (p != BreakIterator.Done || q != BreakIterator.Done) { Errln("ERROR: following()/next() at last position returned #" + p + " and " + q + " instead of" + testString.Length); } }