View Javadoc
1   package org.codehaus.plexus.util.cli;
2   
3   /*
4    * Copyright The Codehaus Foundation.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  import org.junit.jupiter.api.Test;
20  
21  import static org.junit.jupiter.api.Assertions.assertEquals;
22  import static org.junit.jupiter.api.Assertions.assertFalse;
23  import static org.junit.jupiter.api.Assertions.fail;
24  
25  /**
26   * <p>EnhancedStringTokenizerTest class.</p>
27   *
28   * @author herve
29   * @version $Id: $Id
30   * @since 3.4.0
31   */
32  public class EnhancedStringTokenizerTest {
33      /**
34       * <p>test1.</p>
35       */
36      @org.junit.jupiter.api.Test
37      public void test1() {
38          EnhancedStringTokenizer est = new EnhancedStringTokenizer("this is a test string");
39          StringBuilder sb = new StringBuilder();
40          while (est.hasMoreTokens()) {
41              sb.append(est.nextToken());
42              sb.append(" ");
43          }
44          assertEquals("this is a test string ", sb.toString());
45      }
46  
47      /**
48       * <p>test2.</p>
49       */
50      @Test
51      public void test2() {
52          EnhancedStringTokenizer est = new EnhancedStringTokenizer("1,,,3,,4", ",");
53          assertEquals("1", est.nextToken(), "Token 1");
54          assertEquals("", est.nextToken(), "Token 2");
55          assertEquals("", est.nextToken(), "Token 3");
56          assertEquals("3", est.nextToken(), "Token 4");
57          assertEquals("", est.nextToken(), "Token 5");
58          assertEquals("4", est.nextToken(), "Token 6");
59      }
60  
61      /**
62       * <p>test3.</p>
63       */
64      @org.junit.jupiter.api.Test
65      public void test3() {
66          EnhancedStringTokenizer est = new EnhancedStringTokenizer("1,,,3,,4", ",", true);
67          assertEquals("1", est.nextToken(), "Token 1");
68          assertEquals(",", est.nextToken(), "Token 2");
69          assertEquals("", est.nextToken(), "Token 3");
70          assertEquals(",", est.nextToken(), "Token 4");
71          assertEquals("", est.nextToken(), "Token 5");
72          assertEquals(",", est.nextToken(), "Token 6");
73          assertEquals("3", est.nextToken(), "Token 7");
74          assertEquals(",", est.nextToken(), "Token 8");
75          assertEquals("", est.nextToken(), "Token 9");
76          assertEquals(",", est.nextToken(), "Token 10");
77          assertEquals("4", est.nextToken(), "Token 11");
78      }
79  
80      /**
81       * <p>testMultipleDelim.</p>
82       */
83      @org.junit.jupiter.api.Test
84      public void testMultipleDelim() {
85          EnhancedStringTokenizer est = new EnhancedStringTokenizer("1 2|3|4", " |", true);
86          assertEquals("1", est.nextToken(), "Token 1");
87          assertEquals(" ", est.nextToken(), "Token 2");
88          assertEquals("2", est.nextToken(), "Token 3");
89          assertEquals("|", est.nextToken(), "Token 4");
90          assertEquals("3", est.nextToken(), "Token 5");
91          assertEquals("|", est.nextToken(), "Token 6");
92          assertEquals("4", est.nextToken(), "Token 7");
93          assertFalse(est.hasMoreTokens(), "est.hasMoreTokens()");
94      }
95  
96      /**
97       * <p>testEmptyString.</p>
98       */
99      @org.junit.jupiter.api.Test
100     public void testEmptyString() {
101         EnhancedStringTokenizer est = new EnhancedStringTokenizer("");
102         assertFalse(est.hasMoreTokens(), "est.hasMoreTokens()");
103         try {
104             est.nextToken();
105             fail();
106         } catch (Exception e) {
107         }
108     }
109 
110     /**
111      * <p>testSimpleString.</p>
112      */
113     @org.junit.jupiter.api.Test
114     public void testSimpleString() {
115         EnhancedStringTokenizer est = new EnhancedStringTokenizer("a ");
116         assertEquals("a", est.nextToken(), "Token 1");
117         assertEquals("", est.nextToken(), "Token 2");
118         assertFalse(est.hasMoreTokens(), "est.hasMoreTokens()");
119     }
120 }