package ucar.unidata.util; import org.junit.Before; import org.junit.Test; import java.util.ArrayList; import java.util.List; import static org.junit.Assert.*; /** * Created with IntelliJ IDEA. * User: madry * Date: 12/10/13 * Time: 10:50 AM * To change this template use File | Settings | File Templates. */ public class StringUtil2Test { private String sep1 = "*|*"; //obnoxious multicharacter separator private String sep2 = "."; //obnoxious because in regex the . is a special character private String sep3 = "\\"; //obnoxious because of the possibly unintended escape sequence private String sep4 = "foo bar"; //obnoxious because it has spaces embedded in a string private String sep5 = ""; //should default to basic space separator private String sep6 = null; private String sep7 = "Broken? * **"; private String values1 = "Broken? * **"; private String values2 = "String*|*with*|**|**|*as*|*a*|*separator"; // double separator is particularly nasty? private String values3 = "Another string with foobar and foo bar embedded"; private String values4 = "This string has a \\ in it"; private String values5 = "This.string.should.have.ten.tokens.when.separated.on.dot"; private String values6 = "This string.has.several *|*different foo bar separators!"; private List<String> values1_sep1 = new ArrayList<String>(); private List<String> values2_sep1 = new ArrayList<String>(); private List<String> values3_sep1 = new ArrayList<String>(); private List<String> values4_sep1 = new ArrayList<String>(); private List<String> values5_sep1 = new ArrayList<String>(); private List<String> values6_sep1 = new ArrayList<String>(); private List<String> values1_sep2 = new ArrayList<String>(); private List<String> values2_sep2 = new ArrayList<String>(); private List<String> values3_sep2 = new ArrayList<String>(); private List<String> values4_sep2 = new ArrayList<String>(); private List<String> values5_sep2 = new ArrayList<String>(); private List<String> values6_sep2 = new ArrayList<String>(); private List<String> values1_sep3 = new ArrayList<String>(); private List<String> values2_sep3 = new ArrayList<String>(); private List<String> values3_sep3 = new ArrayList<String>(); private List<String> values4_sep3 = new ArrayList<String>(); private List<String> values5_sep3 = new ArrayList<String>(); private List<String> values6_sep3 = new ArrayList<String>(); private List<String> values1_sep4 = new ArrayList<String>(); private List<String> values2_sep4 = new ArrayList<String>(); private List<String> values3_sep4 = new ArrayList<String>(); private List<String> values4_sep4 = new ArrayList<String>(); private List<String> values5_sep4 = new ArrayList<String>(); private List<String> values6_sep4 = new ArrayList<String>(); private List<String> values1_sep5 = new ArrayList<String>(); private List<String> values2_sep5 = new ArrayList<String>(); private List<String> values3_sep5 = new ArrayList<String>(); private List<String> values4_sep5 = new ArrayList<String>(); private List<String> values5_sep5 = new ArrayList<String>(); private List<String> values6_sep5 = new ArrayList<String>(); private List<String> values1_sep6 = new ArrayList<String>(); private List<String> values2_sep6 = new ArrayList<String>(); private List<String> values3_sep6 = new ArrayList<String>(); private List<String> values4_sep6 = new ArrayList<String>(); private List<String> values5_sep6 = new ArrayList<String>(); private List<String> values6_sep6 = new ArrayList<String>(); private List<String> values1_sep7 = new ArrayList<String>(); @Before public void setUp() throws Exception { values1_sep1.add("Broken? * **"); values2_sep1.add("String"); values2_sep1.add("with"); values2_sep1.add("as"); values2_sep1.add("a"); values2_sep1.add("separator"); values3_sep1.add("Another string with foobar and foo bar embedded"); values4_sep1.add("This string has a \\ in it"); values5_sep1.add("This.string.should.have.ten.tokens.when.separated.on.dot"); values6_sep1.add("This string.has.several "); values6_sep1.add("different foo bar separators!"); values1_sep2.add("Broken? * **"); values2_sep2.add("String*|*with*|**|**|*as*|*a*|*separator"); values3_sep2.add("Another string with foobar and foo bar embedded"); values4_sep2.add("This string has a \\ in it"); values5_sep2.add("This"); values5_sep2.add("string"); values5_sep2.add("should"); values5_sep2.add("have"); values5_sep2.add("ten"); values5_sep2.add("tokens"); values5_sep2.add("when"); values5_sep2.add("separated"); values5_sep2.add("on"); values5_sep2.add("dot"); values6_sep2.add("This string"); values6_sep2.add("has"); values6_sep2.add("several *|*different foo bar separators!"); values1_sep3.add("Broken? * **"); values2_sep3.add("String*|*with*|**|**|*as*|*a*|*separator"); values3_sep3.add("Another string with foobar and foo bar embedded"); values4_sep3.add("This string has a "); values4_sep3.add(" in it"); values5_sep3.add("This.string.should.have.ten.tokens.when.separated.on.dot"); values6_sep3.add("This string.has.several *|*different foo bar separators!"); values1_sep4.add("Broken? * **"); values2_sep4.add("String*|*with*|**|**|*as*|*a*|*separator"); values3_sep4.add("Another string with foobar and "); values3_sep4.add(" embedded"); values4_sep4.add("This string has a \\ in it"); values5_sep4.add("This.string.should.have.ten.tokens.when.separated.on.dot"); values6_sep4.add("This string.has.several *|*different "); values6_sep4.add(" separators!"); values1_sep5.add("Broken?"); values1_sep5.add("*"); values1_sep5.add("**"); values2_sep5.add("String*|*with*|**|**|*as*|*a*|*separator"); values3_sep5.add("Another"); values3_sep5.add("string"); values3_sep5.add("with"); values3_sep5.add("foobar"); values3_sep5.add("and"); values3_sep5.add("foo"); values3_sep5.add("bar"); values3_sep5.add("embedded"); values4_sep5.add("This"); values4_sep5.add("string"); values4_sep5.add("has"); values4_sep5.add("a"); values4_sep5.add("\\"); values4_sep5.add("in"); values4_sep5.add("it"); values5_sep5.add("This.string.should.have.ten.tokens.when.separated.on.dot"); values6_sep5.add("This"); values6_sep5.add("string.has.several"); values6_sep5.add("*|*different"); values6_sep5.add("foo"); values6_sep5.add("bar"); values6_sep5.add("separators!"); values1_sep6.add("Broken?"); values1_sep6.add("*"); values1_sep6.add("**"); values2_sep6.add("String*|*with*|**|**|*as*|*a*|*separator"); values3_sep6.add("Another"); values3_sep6.add("string"); values3_sep6.add("with"); values3_sep6.add("foobar"); values3_sep6.add("and"); values3_sep6.add("foo"); values3_sep6.add("bar"); values3_sep6.add("embedded"); values4_sep6.add("This"); values4_sep6.add("string"); values4_sep6.add("has"); values4_sep6.add("a"); values4_sep6.add("\\"); values4_sep6.add("in"); values4_sep6.add("it"); values5_sep6.add("This.string.should.have.ten.tokens.when.separated.on.dot"); values6_sep6.add("This"); values6_sep6.add("string.has.several"); values6_sep6.add("*|*different"); values6_sep6.add("foo"); values6_sep6.add("bar"); values6_sep6.add("separators!"); values1_sep7.add(""); } @Test public void testGetTokens() throws Exception { assertEquals(values1_sep1, StringUtil2.getTokens(values1, sep1)); assertEquals(values2_sep1, StringUtil2.getTokens(values2, sep1)); assertEquals(values3_sep1, StringUtil2.getTokens(values3, sep1)); assertEquals(values4_sep1, StringUtil2.getTokens(values4, sep1)); assertEquals(values5_sep1, StringUtil2.getTokens(values5, sep1)); assertEquals(values6_sep1, StringUtil2.getTokens(values6, sep1)); assertEquals(values1_sep2, StringUtil2.getTokens(values1, sep2)); assertEquals(values2_sep2, StringUtil2.getTokens(values2, sep2)); assertEquals(values3_sep2, StringUtil2.getTokens(values3, sep2)); assertEquals(values4_sep2, StringUtil2.getTokens(values4, sep2)); assertEquals(values5_sep2, StringUtil2.getTokens(values5, sep2)); assertEquals(values6_sep2, StringUtil2.getTokens(values6, sep2)); assertEquals(values1_sep3, StringUtil2.getTokens(values1, sep3)); assertEquals(values2_sep3, StringUtil2.getTokens(values2, sep3)); assertEquals(values3_sep3, StringUtil2.getTokens(values3, sep3)); assertEquals(values4_sep3, StringUtil2.getTokens(values4, sep3)); assertEquals(values5_sep3, StringUtil2.getTokens(values5, sep3)); assertEquals(values6_sep3, StringUtil2.getTokens(values6, sep3)); assertEquals(values1_sep4, StringUtil2.getTokens(values1, sep4)); assertEquals(values2_sep4, StringUtil2.getTokens(values2, sep4)); assertEquals(values3_sep4, StringUtil2.getTokens(values3, sep4)); assertEquals(values4_sep4, StringUtil2.getTokens(values4, sep4)); assertEquals(values5_sep4, StringUtil2.getTokens(values5, sep4)); assertEquals(values6_sep4, StringUtil2.getTokens(values6, sep4)); assertEquals(values1_sep6, StringUtil2.getTokens(values1, sep6)); assertEquals(values2_sep6, StringUtil2.getTokens(values2, sep6)); assertEquals(values3_sep6, StringUtil2.getTokens(values3, sep6)); assertEquals(values4_sep6, StringUtil2.getTokens(values4, sep6)); assertEquals(values5_sep6, StringUtil2.getTokens(values5, sep6)); assertEquals(values6_sep6, StringUtil2.getTokens(values6, sep6)); assertEquals(values1_sep5, StringUtil2.getTokens(values1, sep5)); assertEquals(values2_sep5, StringUtil2.getTokens(values2, sep5)); assertEquals(values3_sep5, StringUtil2.getTokens(values3, sep5)); assertEquals(values4_sep5, StringUtil2.getTokens(values4, sep5)); assertEquals(values5_sep5, StringUtil2.getTokens(values5, sep5)); assertEquals(values6_sep5, StringUtil2.getTokens(values6, sep5)); assertEquals(values1_sep7, StringUtil2.getTokens(values1, sep7)); } }