Skip to content

Commit 61a879b

Browse files
committed
Replace assertTokenEquals with Token matcher
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/csv/trunk@1465692 13f79535-47bb-0310-9956-ffa450edef68
1 parent 4b5e8d7 commit 61a879b

1 file changed

Lines changed: 88 additions & 93 deletions

File tree

src/test/java/org/apache/commons/csv/CSVLexerTest.java

Lines changed: 88 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626
import static org.apache.commons.csv.Token.Type.EOF;
2727
import static org.apache.commons.csv.Token.Type.EORECORD;
2828
import static org.apache.commons.csv.Token.Type.TOKEN;
29-
import static org.junit.Assert.assertEquals;
3029
import static org.junit.Assert.assertFalse;
3130
import static org.junit.Assert.assertTrue;
3231
import static org.junit.Assert.assertThat;
3332
import static org.apache.commons.csv.TokenMatchers.hasContent;
33+
import static org.apache.commons.csv.TokenMatchers.matches;
3434

3535
import java.io.IOException;
3636
import java.io.StringReader;
@@ -57,26 +57,21 @@ private Lexer getLexer(final String input, final CSVFormat format) {
5757
return new CSVLexer(format, new ExtendedBufferedReader(new StringReader(input)));
5858
}
5959

60-
private void assertTokenEquals(final Token.Type expectedType, final String expectedContent, final Token token) {
61-
assertEquals("Token type", expectedType, token.type);
62-
assertEquals("Token content", expectedContent, token.content.toString());
63-
}
64-
6560
// Single line (without comment)
6661
@Test
6762
public void testNextToken1() throws IOException {
6863
final String code = "abc,def, hijk, lmnop, qrst,uv ,wxy ,z , ,";
6964
final Lexer parser = getLexer(code, CSVFormat.newBuilder().withIgnoreSurroundingSpaces(true).build());
70-
assertTokenEquals(TOKEN, "abc", parser.nextToken(new Token()));
71-
assertTokenEquals(TOKEN, "def", parser.nextToken(new Token()));
72-
assertTokenEquals(TOKEN, "hijk", parser.nextToken(new Token()));
73-
assertTokenEquals(TOKEN, "lmnop", parser.nextToken(new Token()));
74-
assertTokenEquals(TOKEN, "qrst", parser.nextToken(new Token()));
75-
assertTokenEquals(TOKEN, "uv", parser.nextToken(new Token()));
76-
assertTokenEquals(TOKEN, "wxy", parser.nextToken(new Token()));
77-
assertTokenEquals(TOKEN, "z", parser.nextToken(new Token()));
78-
assertTokenEquals(TOKEN, "", parser.nextToken(new Token()));
79-
assertTokenEquals(EOF, "", parser.nextToken(new Token()));
65+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "abc"));
66+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "def"));
67+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "hijk"));
68+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "lmnop"));
69+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "qrst"));
70+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "uv"));
71+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "wxy"));
72+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "z"));
73+
assertThat(parser.nextToken(new Token()), matches(TOKEN, ""));
74+
assertThat(parser.nextToken(new Token()), matches(EOF, ""));
8075
}
8176

8277
// multiline including comments (and empty lines)
@@ -104,22 +99,22 @@ public void testNextToken2() throws IOException {
10499
final Lexer parser = getLexer(code, format);
105100

106101

107-
assertTokenEquals(TOKEN, "1", parser.nextToken(new Token()));
108-
assertTokenEquals(TOKEN, "2", parser.nextToken(new Token()));
109-
assertTokenEquals(TOKEN, "3", parser.nextToken(new Token()));
110-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 1
111-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
112-
assertTokenEquals(TOKEN, "b x", parser.nextToken(new Token()));
113-
assertTokenEquals(EORECORD, "c#no-comment", parser.nextToken(new Token())); // 2
114-
assertTokenEquals(COMMENT, "foo", parser.nextToken(new Token())); // 3
102+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "1"));
103+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "2"));
104+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "3"));
105+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 1
106+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
107+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "b x"));
108+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "c#no-comment")); // 2
109+
assertThat(parser.nextToken(new Token()), matches(COMMENT, "foo")); // 3
115110
// 4 empty line, ignored // 4
116-
assertTokenEquals(TOKEN, "d", parser.nextToken(new Token()));
117-
assertTokenEquals(TOKEN, "e", parser.nextToken(new Token()));
118-
assertTokenEquals(EORECORD, "#no-comment", parser.nextToken(new Token())); // 5
119-
assertTokenEquals(COMMENT, "penultimate comment", parser.nextToken(new Token())); // 6
120-
assertTokenEquals(COMMENT, "Final comment", parser.nextToken(new Token())); // 7
121-
assertTokenEquals(EOF, "", parser.nextToken(new Token()));
122-
assertTokenEquals(EOF, "", parser.nextToken(new Token()));
111+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "d"));
112+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "e"));
113+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "#no-comment")); // 5
114+
assertThat(parser.nextToken(new Token()), matches(COMMENT, "penultimate comment")); // 6
115+
assertThat(parser.nextToken(new Token()), matches(COMMENT, "Final comment")); // 7
116+
assertThat(parser.nextToken(new Token()), matches(EOF, ""));
117+
assertThat(parser.nextToken(new Token()), matches(EOF, ""));
123118

124119
}
125120

@@ -147,29 +142,29 @@ public void testNextToken2EmptyLines() throws IOException {
147142
final Lexer parser = getLexer(code, format);
148143

149144

150-
assertTokenEquals(TOKEN, "1", parser.nextToken(new Token()));
151-
assertTokenEquals(TOKEN, "2", parser.nextToken(new Token()));
152-
assertTokenEquals(TOKEN, "3", parser.nextToken(new Token()));
153-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 1
154-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 1b
155-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 1c
156-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
157-
assertTokenEquals(TOKEN, "b x", parser.nextToken(new Token()));
158-
assertTokenEquals(EORECORD, "c#no-comment", parser.nextToken(new Token())); // 2
159-
assertTokenEquals(COMMENT, "foo", parser.nextToken(new Token())); // 3
160-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 4
161-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 4b
162-
assertTokenEquals(TOKEN, "d", parser.nextToken(new Token()));
163-
assertTokenEquals(TOKEN, "e", parser.nextToken(new Token()));
164-
assertTokenEquals(EORECORD, "#no-comment", parser.nextToken(new Token())); // 5
165-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 5b
166-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 5c
167-
assertTokenEquals(COMMENT, "penultimate comment", parser.nextToken(new Token())); // 6
168-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 6b
169-
assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 6c
170-
assertTokenEquals(COMMENT, "Final comment", parser.nextToken(new Token())); // 7
171-
assertTokenEquals(EOF, "", parser.nextToken(new Token()));
172-
assertTokenEquals(EOF, "", parser.nextToken(new Token()));
145+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "1"));
146+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "2"));
147+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "3"));
148+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 1
149+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 1b
150+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 1c
151+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
152+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "b x"));
153+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "c#no-comment")); // 2
154+
assertThat(parser.nextToken(new Token()), matches(COMMENT, "foo")); // 3
155+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 4
156+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 4b
157+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "d"));
158+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "e"));
159+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "#no-comment")); // 5
160+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 5b
161+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 5c
162+
assertThat(parser.nextToken(new Token()), matches(COMMENT, "penultimate comment")); // 6
163+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 6b
164+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "")); // 6c
165+
assertThat(parser.nextToken(new Token()), matches(COMMENT, "Final comment")); // 7
166+
assertThat(parser.nextToken(new Token()), matches(EOF, ""));
167+
assertThat(parser.nextToken(new Token()), matches(EOF, ""));
173168

174169
}
175170

@@ -184,15 +179,15 @@ public void testNextToken3() throws IOException {
184179
assertFalse(format.isEscaping());
185180
final Lexer parser = getLexer(code, format);
186181

187-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
182+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
188183
// an unquoted single backslash is not an escape char
189-
assertTokenEquals(TOKEN, "\\", parser.nextToken(new Token()));
190-
assertTokenEquals(TOKEN, "", parser.nextToken(new Token()));
191-
assertTokenEquals(EORECORD, "b\\", parser.nextToken(new Token()));
184+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "\\"));
185+
assertThat(parser.nextToken(new Token()), matches(TOKEN, ""));
186+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "b\\"));
192187
// an unquoted single backslash is not an escape char
193-
assertTokenEquals(TOKEN, "\\", parser.nextToken(new Token()));
194-
assertTokenEquals(TOKEN, "", parser.nextToken(new Token()));
195-
assertTokenEquals(EOF, "", parser.nextToken(new Token()));
188+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "\\"));
189+
assertThat(parser.nextToken(new Token()), matches(TOKEN, ""));
190+
assertThat(parser.nextToken(new Token()), matches(EOF, ""));
196191
}
197192

198193
// simple token with escaping enabled
@@ -206,13 +201,13 @@ public void testNextToken3Escaping() throws IOException {
206201
assertTrue(format.isEscaping());
207202
final Lexer parser = getLexer(code, format);
208203

209-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
210-
assertTokenEquals(TOKEN, ",", parser.nextToken(new Token()));
211-
assertTokenEquals(EORECORD, "b\\", parser.nextToken(new Token()));
212-
assertTokenEquals(TOKEN, ",", parser.nextToken(new Token()));
213-
assertTokenEquals(TOKEN, "\nc", parser.nextToken(new Token()));
214-
assertTokenEquals(EORECORD, "d\r", parser.nextToken(new Token()));
215-
assertTokenEquals(EOF, "e", parser.nextToken(new Token()));
204+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
205+
assertThat(parser.nextToken(new Token()), matches(TOKEN, ","));
206+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "b\\"));
207+
assertThat(parser.nextToken(new Token()), matches(TOKEN, ","));
208+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "\nc"));
209+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "d\r"));
210+
assertThat(parser.nextToken(new Token()), matches(EOF, "e"));
216211
}
217212

218213
// encapsulator tokenizer (single line)
@@ -225,31 +220,31 @@ public void testNextToken4() throws IOException {
225220
*/
226221
final String code = "a,\"foo\",b\na, \" foo\",b\na,\"foo \" ,b\na, \" foo \" ,b";
227222
final Lexer parser = getLexer(code, CSVFormat.newBuilder().withIgnoreSurroundingSpaces(true).build());
228-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
229-
assertTokenEquals(TOKEN, "foo", parser.nextToken(new Token()));
230-
assertTokenEquals(EORECORD, "b", parser.nextToken(new Token()));
231-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
232-
assertTokenEquals(TOKEN, " foo", parser.nextToken(new Token()));
233-
assertTokenEquals(EORECORD, "b", parser.nextToken(new Token()));
234-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
235-
assertTokenEquals(TOKEN, "foo ", parser.nextToken(new Token()));
236-
assertTokenEquals(EORECORD, "b", parser.nextToken(new Token()));
237-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
238-
assertTokenEquals(TOKEN, " foo ", parser.nextToken(new Token()));
223+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
224+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "foo"));
225+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "b"));
226+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
227+
assertThat(parser.nextToken(new Token()), matches(TOKEN, " foo"));
228+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "b"));
229+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
230+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "foo "));
231+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "b"));
232+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
233+
assertThat(parser.nextToken(new Token()), matches(TOKEN, " foo "));
239234
// assertTokenEquals(EORECORD, "b", parser.nextToken(new Token()));
240-
assertTokenEquals(EOF, "b", parser.nextToken(new Token()));
235+
assertThat(parser.nextToken(new Token()), matches(EOF, "b"));
241236
}
242237

243238
// encapsulator tokenizer (multi line, delimiter in string)
244239
@Test
245240
public void testNextToken5() throws IOException {
246241
final String code = "a,\"foo\n\",b\n\"foo\n baar ,,,\"\n\"\n\t \n\"";
247242
final Lexer parser = getLexer(code, CSVFormat.DEFAULT);
248-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
249-
assertTokenEquals(TOKEN, "foo\n", parser.nextToken(new Token()));
250-
assertTokenEquals(EORECORD, "b", parser.nextToken(new Token()));
251-
assertTokenEquals(EORECORD, "foo\n baar ,,,", parser.nextToken(new Token()));
252-
assertTokenEquals(EOF, "\n\t \n", parser.nextToken(new Token()));
243+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
244+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "foo\n"));
245+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "b"));
246+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "foo\n baar ,,,"));
247+
assertThat(parser.nextToken(new Token()), matches(EOF, "\n\t \n"));
253248

254249
}
255250

@@ -264,21 +259,21 @@ public void testNextToken6() throws IOException {
264259
final String code = "a;'b and '' more\n'\n!comment;;;;\n;;";
265260
final CSVFormat format = CSVFormat.newBuilder().withDelimiter(';').withQuoteChar('\'').withCommentStart('!').build();
266261
final Lexer parser = getLexer(code, format);
267-
assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
268-
assertTokenEquals(EORECORD, "b and ' more\n", parser.nextToken(new Token()));
262+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "a"));
263+
assertThat(parser.nextToken(new Token()), matches(EORECORD, "b and ' more\n"));
269264
}
270265

271266
// From CSV-1
272267
@Test
273268
public void testDelimiterIsWhitespace() throws IOException {
274269
final String code = "one\ttwo\t\tfour \t five\t six";
275270
final Lexer parser = getLexer(code, CSVFormat.TDF);
276-
assertTokenEquals(TOKEN, "one", parser.nextToken(new Token()));
277-
assertTokenEquals(TOKEN, "two", parser.nextToken(new Token()));
278-
assertTokenEquals(TOKEN, "", parser.nextToken(new Token()));
279-
assertTokenEquals(TOKEN, "four", parser.nextToken(new Token()));
280-
assertTokenEquals(TOKEN, "five", parser.nextToken(new Token()));
281-
assertTokenEquals(EOF, "six", parser.nextToken(new Token()));
271+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "one"));
272+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "two"));
273+
assertThat(parser.nextToken(new Token()), matches(TOKEN, ""));
274+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "four"));
275+
assertThat(parser.nextToken(new Token()), matches(TOKEN, "five"));
276+
assertThat(parser.nextToken(new Token()), matches(EOF, "six"));
282277
}
283278

284279
@Test

0 commit comments

Comments
 (0)