public void BreakIteratorThatIsEmpty() { var locale = new Locale("de-DE"); string text = string.Empty; using (var bi = BreakIterator.CreateCharacterInstance(locale)) { bi.SetText(text); Assert.AreEqual(locale, bi.Locale); Assert.AreEqual(text, bi.Text); Assert.AreEqual(0, bi.Boundaries.Length); Assert.AreEqual(0, bi.Current); Assert.AreEqual(BreakIterator.DONE, bi.MoveNext()); Assert.AreEqual(0, bi.MoveFirst()); Assert.AreEqual(0, bi.MoveLast()); Assert.AreEqual(BreakIterator.DONE, bi.MovePrevious()); // Default value is 0 when there was no rule applied. Assert.AreEqual(0, bi.GetRuleStatus()); // When iterator is at DONE, it returns the default rule status vector. CollectionAssert.AreEqual(new[] { 0 }, bi.GetRuleStatusVector()); } }
public void BreakIteratorThatIsNull() { var locale = new Locale("de-DE"); using (var bi = BreakIterator.CreateCharacterInstance(locale)) { Assert.Throws <ArgumentNullException>(() => { bi.SetText(null); }); } }
public void CanSetNewText_Null() { var locale = new Locale("en-US"); var text = "Good-day, kind sir ! Can I have a glass of water? I am very parched."; string secondText = null; using (var bi = BreakIterator.CreateCharacterInstance(locale)) { bi.SetText(text); Assert.Throws <ArgumentNullException>(() => bi.SetText(secondText)); } }
public void CreateChracterInstanceTest() { var locale = new Locale("de-DE"); var text = "Good-bye, dear!"; var expected = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; using (var bi = BreakIterator.CreateCharacterInstance(locale)) { bi.SetText(text); Assert.AreEqual(locale, bi.Locale); Assert.AreEqual(text, bi.Text); CollectionAssert.AreEqual(expected, bi.Boundaries); // Verify each boundary and rule status. for (int i = 0; i < expected.Length; i++) { int current = bi.Current; int status = bi.GetRuleStatus(); Assert.AreEqual(expected[i], current); Assert.AreEqual(0, status); int moveNext = bi.MoveNext(); int next = i + 1; if (next < expected.Length) { Assert.AreEqual(expected[next], moveNext); } else { // Verify that the BreakIterator is exhausted because we've // moved past every item. Assert.AreEqual(BreakIterator.DONE, moveNext); } } // Verify that the BreakIterator is exhausted because we've // moved past every item, so current should be the last offset. int lastIndex = expected.Length - 1; Assert.AreEqual(expected[lastIndex], bi.Current); } }