1   /*
2    * $Id: StringUtilsTestCase.java 9970 2007-12-04 10:13:54Z holger $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.util;
12  
13  import org.mule.tck.AbstractMuleTestCase;
14  
15  import java.util.Arrays;
16  
17  public class StringUtilsTestCase extends AbstractMuleTestCase
18  {
19  
20      public void testSplitAndTrim1()
21      {
22          String[] result = StringUtils.splitAndTrim(null, ",,");
23          assertNull(result);
24  
25          result = StringUtils.splitAndTrim("", ",");
26          assertNotNull(result);
27          assertTrue(Arrays.equals(ArrayUtils.EMPTY_STRING_ARRAY, result));
28  
29          result = StringUtils.splitAndTrim(" ", ",");
30          assertNotNull(result);
31          assertTrue(Arrays.equals(ArrayUtils.EMPTY_STRING_ARRAY, result));
32      }
33  
34      public void testSplitAndTrim2()
35      {
36          String[] inputValues = new String[]{"foo", "bar", "baz", "kaboom"};
37          String inputString = new StringBuffer(40)
38              .append(inputValues[0])
39              .append(" ,")
40              .append(",  ")
41              .append(inputValues[1])
42              .append(" ,")
43              .append(inputValues[2])
44              .append("  ,  ")
45              .append(inputValues[3])
46              .append(" ")
47              .toString();
48  
49          assertTrue(Arrays.equals(inputValues, StringUtils.splitAndTrim(inputString, ",")));
50      }
51  
52      public void testSplitAndTrim3()
53      {
54          String[] inputValues = new String[]{"foo", "bar", "baz", "kaboom"};
55          String inputString = "foo,  bar,\nbaz,  \nkaboom";
56          assertTrue(Arrays.equals(inputValues, StringUtils.splitAndTrim(inputString, ",")));
57      }
58  
59      public void testHexStringToByteArray()
60      {
61          assertNull(StringUtils.hexStringToByteArray(null));
62  
63          try
64          {
65              StringUtils.hexStringToByteArray("1");
66              fail();
67          }
68          catch (IllegalArgumentException iex)
69          {
70              // OK
71          }
72  
73          assertTrue(Arrays.equals(new byte[]{}, StringUtils.hexStringToByteArray("")));
74          assertTrue(Arrays.equals(new byte[]{1}, StringUtils.hexStringToByteArray("01")));
75          assertTrue(Arrays.equals(new byte[]{1, 2}, StringUtils.hexStringToByteArray("0102")));
76          assertTrue(Arrays.equals(new byte[]{10, 14}, StringUtils.hexStringToByteArray("0A0E")));
77          assertTrue(Arrays.equals(new byte[]{10, 14}, StringUtils.hexStringToByteArray("0a0e")));
78          assertTrue(Arrays.equals(new byte[]{10, (byte)0xff}, StringUtils.hexStringToByteArray("0AFF")));
79          assertTrue(Arrays.equals(new byte[]{10, (byte)0xff}, StringUtils.hexStringToByteArray("0aff")));
80      }
81  
82      public void testByteArrayToHexString()
83      {
84          assertNull(StringUtils.toHexString(null));
85          assertEquals("", StringUtils.toHexString(new byte[]{}));
86          assertEquals("01", StringUtils.toHexString(new byte[]{1}));
87          assertEquals("0102", StringUtils.toHexString(new byte[]{1, 2}));
88          assertEquals("0a0e", StringUtils.toHexString(new byte[]{10, 14}));
89          assertEquals("0A0E", StringUtils.toHexString(new byte[]{10, 14}, true));
90          assertEquals("0aff", StringUtils.toHexString(new byte[]{10, (byte)0xff}));
91          assertEquals("0AFF", StringUtils.toHexString(new byte[]{10, (byte)0xff}, true));
92      }
93  
94  }