View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.csv;
18  
19  import static org.apache.commons.csv.TokenMatchers.hasContent;
20  import static org.apache.commons.csv.TokenMatchers.hasType;
21  import static org.apache.commons.csv.TokenMatchers.isReady;
22  import static org.apache.commons.csv.TokenMatchers.matches;
23  import static org.junit.jupiter.api.Assertions.assertEquals;
24  import static org.junit.jupiter.api.Assertions.assertFalse;
25  import static org.junit.jupiter.api.Assertions.assertTrue;
26  
27  import org.junit.jupiter.api.BeforeEach;
28  import org.junit.jupiter.api.Test;
29  
30  public class TokenMatchersTest {
31  
32      private Token token;
33  
34      @BeforeEach
35      public void setUp() {
36          token = new Token();
37          token.type = Token.Type.TOKEN;
38          token.isReady = true;
39          token.content.append("content");
40      }
41  
42      @Test
43      public void testHasContent() {
44          assertFalse(hasContent("This is not the token's content").matches(token));
45          assertTrue(hasContent("content").matches(token));
46      }
47  
48      @Test
49      public void testHasType() {
50          assertFalse(hasType(Token.Type.COMMENT).matches(token));
51          assertFalse(hasType(Token.Type.EOF).matches(token));
52          assertFalse(hasType(Token.Type.EORECORD).matches(token));
53          assertTrue(hasType(Token.Type.TOKEN).matches(token));
54      }
55  
56      @Test
57      public void testIsReady() {
58          assertTrue(isReady().matches(token));
59          token.isReady = false;
60          assertFalse(isReady().matches(token));
61      }
62  
63      @Test
64      public void testMatches() {
65          assertTrue(matches(Token.Type.TOKEN, "content").matches(token));
66          assertFalse(matches(Token.Type.EOF, "content").matches(token));
67          assertFalse(matches(Token.Type.TOKEN, "not the content").matches(token));
68          assertFalse(matches(Token.Type.EORECORD, "not the content").matches(token));
69      }
70  
71      @Test
72      public void testToString() {
73          assertTrue(matches(Token.Type.TOKEN, "content").matches(token));
74          assertEquals("TOKEN", token.type.name());
75          assertEquals("TOKEN [content]", token.toString());
76      }
77  }