package edu.berkeley.cs.nlp.ocular.util; import static edu.berkeley.cs.nlp.ocular.util.StringHelper.drop; import static edu.berkeley.cs.nlp.ocular.util.StringHelper.join; import static edu.berkeley.cs.nlp.ocular.util.StringHelper.last; import static edu.berkeley.cs.nlp.ocular.util.StringHelper.longestCommonPrefix; import static edu.berkeley.cs.nlp.ocular.util.StringHelper.take; import static edu.berkeley.cs.nlp.ocular.util.StringHelper.toUnicode; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.util.Arrays; import org.junit.Test; /** * @author Dan Garrette (dhgarrette@gmail.com) */ public class StringHelperTests { @Test public void testToUnicode_string() { assertEquals("\\u0061", toUnicode("a")); } @Test public void testToUnicode_char() { assertEquals("\\u0061", toUnicode('a')); } @Test public void testTake() { assertEquals("", take("", 0)); assertEquals("", take("", -2)); assertEquals("", take("", 2)); assertEquals("", take("abc", 0)); assertEquals("", take("abc", -2)); assertEquals("a", take("a", 1)); assertEquals("a", take("a", 2)); assertEquals("ab", take("abc", 2)); } @Test public void testDrop() { assertEquals("", drop("", 0)); assertEquals("", drop("", -2)); assertEquals("", drop("", 2)); assertEquals("abc", drop("abc", 0)); assertEquals("abc", drop("abc", -2)); assertEquals("", drop("a", 1)); assertEquals("", drop("a", 2)); assertEquals("c", drop("abc", 2)); assertEquals("bc", drop("abc", 1)); } @Test public void testLast() { assertEquals("a", last("a")); assertEquals("c", last("abc")); try { assertEquals("a", last("")); fail(); } catch (IllegalArgumentException e) { } } @Test public void testJoin_varargs() { assertEquals("abc", join("a", "", "b", "c")); } @Test public void testJoin_list() { assertEquals("abc", join(Arrays.asList(new String[] { "a", "", "b", "c" }))); } @Test public void testJoin_list_sep() { assertEquals("a;;b;c", join(Arrays.asList(new String[] { "a", "", "b", "c" }), ";")); } @Test public void testEquals() { assertTrue(StringHelper.equals("", "")); assertFalse(StringHelper.equals("a", "")); assertFalse(StringHelper.equals("", "a")); assertFalse(StringHelper.equals(null, "")); assertFalse(StringHelper.equals("", null)); assertFalse(StringHelper.equals(null, "a")); assertFalse(StringHelper.equals("a", null)); assertTrue(StringHelper.equals(null, null)); } @Test public void testLongestCommonPrefix() { assertEquals("".length(), longestCommonPrefix("", "")); assertEquals("".length(), longestCommonPrefix("abc", "")); assertEquals("".length(), longestCommonPrefix("", "abc")); assertEquals("ab".length(), longestCommonPrefix("abc", "ab")); assertEquals("ab".length(), longestCommonPrefix("ab", "abc")); assertEquals("abc".length(), longestCommonPrefix("abc", "abc")); } }