public void CreateLineInstanceTest() { var locale = new Locale("de-DE"); var text = "Good-day, kind sir !"; var expected = new[] { 0, 5, 10, 15, 20 }; using (var bi = BreakIterator.CreateLineInstance(locale)) { bi.SetText(text); Assert.AreEqual(locale, bi.Locale); Assert.AreEqual(text, bi.Text); CollectionAssert.AreEqual(expected, bi.Boundaries); } }
public void CreateLineInstanceTest() { var locale = new Locale("de-DE"); var text = "Good-day, kind sir !"; var expected = new[] { 0, 5, 10, 15, 20 }; using (var bi = BreakIterator.CreateLineInstance(locale)) { bi.SetText(text); Assert.That(bi.Locale, Is.EqualTo(locale)); Assert.That(bi.Text, Is.EqualTo(text)); Assert.That(bi.Boundaries, Is.EquivalentTo(expected)); } }
public void CanIterateBackwards() { var locale = new Locale("de-DE"); var text = "Good-day, kind sir !"; var expected = new int[] { 0, 5, 10, 15, 20 }; // RuleStatus only applies to BreakIterator.UBreakIteratorType.WORD. var expectedStatusRuleVector = new[] { 0 }; var expectedEmptyRuleStatusVector = new[] { 0 }; using (var bi = BreakIterator.CreateLineInstance(locale)) { bi.SetText(text); CollectionAssert.AreEqual(expected, bi.Boundaries); int current = 0; var currentBoundary = expected[current]; Assert.AreEqual(currentBoundary, bi.Current); Assert.AreEqual(0, bi.GetRuleStatus()); CollectionAssert.AreEqual(expectedStatusRuleVector, bi.GetRuleStatusVector()); // Increment the index and verify that the next Boundary is correct. current++; currentBoundary = expected[current]; Assert.AreEqual(currentBoundary, bi.MoveNext()); Assert.AreEqual(currentBoundary, bi.Current); Assert.AreEqual(0, bi.GetRuleStatus()); CollectionAssert.AreEqual(expectedStatusRuleVector, bi.GetRuleStatusVector()); current++; currentBoundary = expected[current]; Assert.AreEqual(currentBoundary, bi.MoveNext()); Assert.AreEqual(currentBoundary, bi.Current); Assert.AreEqual(0, bi.GetRuleStatus()); CollectionAssert.AreEqual(expectedStatusRuleVector, bi.GetRuleStatusVector()); current--; currentBoundary = expected[current]; Assert.AreEqual(currentBoundary, bi.MovePrevious()); Assert.AreEqual(currentBoundary, bi.Current); CollectionAssert.AreEqual(expectedStatusRuleVector, bi.GetRuleStatusVector()); current--; currentBoundary = expected[current]; Assert.AreEqual(currentBoundary, bi.MovePrevious()); Assert.AreEqual(currentBoundary, bi.Current); Assert.AreEqual(0, bi.GetRuleStatus()); CollectionAssert.AreEqual(expectedStatusRuleVector, bi.GetRuleStatusVector()); // We've moved past the first word, it should return 0. Assert.AreEqual(BreakIterator.DONE, bi.MovePrevious()); Assert.AreEqual(0, bi.Current); Assert.AreEqual(0, bi.GetRuleStatus()); CollectionAssert.AreEqual(expectedEmptyRuleStatusVector, bi.GetRuleStatusVector()); // Verify that the element is correct now that we've moved to the end. var last = expected.Last(); Assert.AreEqual(last, bi.MoveLast()); Assert.AreEqual(last, bi.Current); Assert.AreEqual(0, bi.GetRuleStatus()); CollectionAssert.AreEqual(expectedStatusRuleVector, bi.GetRuleStatusVector()); } }
private BreakIterator GetLineInstance(System.Globalization.CultureInfo locale) { return(BreakIterator.CreateLineInstance(new Locale(locale.Name))); }