@Test public void testParseJSON() throws Exception { assertArrayEquals(new String[] {"a", "1", "foo"}, TextUtils.parseJSONArray("[\"a\",\"1\",\"foo\"]")); assertArrayEquals(new String[] {"a", "1", "foo", ""}, TextUtils.parseJSONArray("[\"a\",\"1\",\"foo\",\"\"]")); assertArrayEquals(new String[] {"2.3"}, TextUtils.parseJSONArray("[\"2.3\"]")); assertArrayEquals(new String[] {}, TextUtils.parseJSONArray("[]")); }
@Test public void testParsePMMLDelimited() { assertArrayEquals(new String[] {"1", "22", "3"}, TextUtils.parsePMMLDelimited("1 22 3")); assertArrayEquals(new String[] {"ab", "a b", "with \"quotes\" "}, TextUtils.parsePMMLDelimited("ab \"a b\" \"with \\\"quotes\\\" \" ")); assertArrayEquals(new String[] {"\" \""}, TextUtils.parsePMMLDelimited("\"\\\" \\\"\"")); assertArrayEquals(new String[] {" c\" d \"e ", " c\" d \"e "}, TextUtils.parsePMMLDelimited(" \" c\\\" d \\\"e \" \" c\\\" d \\\"e \" ")); }
@Test public void testParseDelimited() throws Exception { assertArrayEquals(new String[] {"a", "1", "foo"}, TextUtils.parseDelimited("a,1,foo", ',')); assertArrayEquals(new String[] {"a", "1", "foo", ""}, TextUtils.parseDelimited("a,1,foo,", ',')); assertArrayEquals(new String[] {"2.3"}, TextUtils.parseDelimited("2.3", ',')); assertArrayEquals(new String[] {"\"a\""}, TextUtils.parseDelimited("\"\"\"a\"\"\"", ',')); assertArrayEquals(new String[] {"\"", "\"\""}, TextUtils.parseDelimited("\"\"\"\" \"\"\"\"\"\"", ' ')); // Different from JSON, sort of: assertArrayEquals(new String[] {""}, TextUtils.parseDelimited("", ',')); assertArrayEquals(new String[] {"a", "1,", ",foo"}, TextUtils.parseDelimited("a\t1,\t,foo", '\t')); assertArrayEquals(new String[] {"a", "1", "foo", ""}, TextUtils.parseDelimited("a 1 foo ", ' ')); assertArrayEquals(new String[] {"-1.0", "a\" \"b"}, TextUtils.parseDelimited("-1.0 a\"\\ \"b", ' ')); assertArrayEquals(new String[] {"-1.0", "a\"b\"c"}, TextUtils.parseDelimited("-1.0 \"a\\\"b\\\"c\"", ' ')); }
@Test public void testConvertViaJSON() { assertEquals(3, TextUtils.convertViaJSON("3", Long.class).longValue()); assertArrayEquals(new float[] { 1.0f, 2.0f }, TextUtils.convertViaJSON(new double[] { 1.0, 2.0 }, float[].class)); }
@Test public void testReadJSON() { assertEquals(3, TextUtils.readJSON("3", Integer.class).intValue()); assertEquals(Arrays.asList("foo", "bar"), TextUtils.readJSON("[\"foo\", \"bar\"]", List.class)); assertArrayEquals(new float[] { 1.0f, 2.0f }, TextUtils.readJSON("[1,2]", float[].class)); }