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 java.util.NoSuchElementException;
20
21 import org.junit.jupiter.api.Test;
22
23 import static org.junit.jupiter.api.Assertions.*;
24
25
26
27
28
29
30
31 class EnhancedStringTokenizerTest {
32
33 @Test
34 void test1() {
35 EnhancedStringTokenizer est = new EnhancedStringTokenizer("this is a test string");
36 StringBuilder sb = new StringBuilder();
37 while (est.hasMoreTokens()) {
38 sb.append(est.nextToken());
39 sb.append(" ");
40 }
41 assertEquals("this is a test string ", sb.toString());
42 }
43
44 @Test
45 void test2() {
46 EnhancedStringTokenizer est = new EnhancedStringTokenizer("1,,,3,,4", ",");
47 assertEquals("1", est.nextToken(), "Token 1");
48 assertEquals("", est.nextToken(), "Token 2");
49 assertEquals("", est.nextToken(), "Token 3");
50 assertEquals("3", est.nextToken(), "Token 4");
51 assertEquals("", est.nextToken(), "Token 5");
52 assertEquals("4", est.nextToken(), "Token 6");
53 }
54
55 @Test
56 void test3() {
57 EnhancedStringTokenizer est = new EnhancedStringTokenizer("1,,,3,,4", ",", true);
58 assertEquals("1", est.nextToken(), "Token 1");
59 assertEquals(",", est.nextToken(), "Token 2");
60 assertEquals("", est.nextToken(), "Token 3");
61 assertEquals(",", est.nextToken(), "Token 4");
62 assertEquals("", est.nextToken(), "Token 5");
63 assertEquals(",", est.nextToken(), "Token 6");
64 assertEquals("3", est.nextToken(), "Token 7");
65 assertEquals(",", est.nextToken(), "Token 8");
66 assertEquals("", est.nextToken(), "Token 9");
67 assertEquals(",", est.nextToken(), "Token 10");
68 assertEquals("4", est.nextToken(), "Token 11");
69 }
70
71 @Test
72 void multipleDelim() {
73 EnhancedStringTokenizer est = new EnhancedStringTokenizer("1 2|3|4", " |", true);
74 assertEquals("1", est.nextToken(), "Token 1");
75 assertEquals(" ", est.nextToken(), "Token 2");
76 assertEquals("2", est.nextToken(), "Token 3");
77 assertEquals("|", est.nextToken(), "Token 4");
78 assertEquals("3", est.nextToken(), "Token 5");
79 assertEquals("|", est.nextToken(), "Token 6");
80 assertEquals("4", est.nextToken(), "Token 7");
81 assertFalse(est.hasMoreTokens(), "est.hasMoreTokens()");
82 }
83
84 @Test
85 void emptyString() {
86 EnhancedStringTokenizer est = new EnhancedStringTokenizer("");
87 assertFalse(est.hasMoreTokens(), "est.hasMoreTokens()");
88 assertThrows(NoSuchElementException.class, est::nextToken);
89 }
90
91 @Test
92 void simpleString() {
93 EnhancedStringTokenizer est = new EnhancedStringTokenizer("a ");
94 assertEquals("a", est.nextToken(), "Token 1");
95 assertEquals("", est.nextToken(), "Token 2");
96 assertFalse(est.hasMoreTokens(), "est.hasMoreTokens()");
97 }
98 }