1   package org.codehaus.plexus.util.cli;
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
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  
27  
28  
29  
30  
31  
32  public class EnhancedStringTokenizerTest {
33      
34  
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  
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  
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  
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  
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 
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 }