public void TestWordIterationThai() { BreakIterator bi = GetWordInstance(new System.Globalization.CultureInfo("th")); bi.SetText(""); // Test empty Assert.AreEqual(0, bi.Current); Assert.AreEqual(BreakIterator.Done, bi.Next()); Assert.AreEqual(0, bi.Current); bi.SetText("บริษัทMicrosoftบริการดีที่สุด"); // Ensure position starts at 0 when initialized Assert.AreEqual(0, bi.Current); // Check first boundary (บริษัท^Microsoft) Assert.AreEqual(6, bi.Next()); // Ensure Current returns the last boundary iterated to Assert.AreEqual(6, bi.Current); // Check second boundary (Microsoft^บริการ) Assert.AreEqual(15, bi.Next()); // Ensure Current returns the last boundary iterated to Assert.AreEqual(15, bi.Current); // Check third boundary (บริการ^ดี) Assert.AreEqual(21, bi.Next()); // Ensure Current returns the last boundary iterated to Assert.AreEqual(21, bi.Current); // Check fourth boundary (ดี^ที่สุด) Assert.AreEqual(23, bi.Next()); // Check fifth boundary (ดีที่สุด^) Assert.AreEqual(29, bi.Next()); // Check beyond last boundary (ดีที่สุด)^ Assert.AreEqual(BreakIterator.Done, bi.Next()); // Check we are still at last boundary Assert.AreEqual(29, bi.Current); // Check MovePrevious() (ดี^ที่สุด) Assert.AreEqual(23, bi.Previous()); // Check MoveFirst() Assert.AreEqual(0, bi.First()); // Check going past first boundary Assert.AreEqual(BreakIterator.Done, bi.Previous()); // Check we are still at first boundary Assert.AreEqual(0, bi.Current); // Check Numerals bi.SetText("๑23๔๕๖7"); // Ensure position starts at 0 when initialized Assert.AreEqual(0, bi.Current); // Ensure Hindu and Thai numerals stay in one group Assert.AreEqual(7, bi.Next()); }