source: class LexerImplTest {
  
    @SuppressWarnings("unused")
    private final Logger logger;
    private LexerImpl lexer;
    private final String TEMPLATE_NAME;
  
    @Test
    void testTokenizeExpression() {
  
target:     Loader<String> loader = new StringLoader();
      Reader templateReader = loader.getReader("{{ whatever }}");
  
      TokenStream tokenStream = this.lexer.tokenize(templateReader, this.TEMPLATE_NAME);
  
      assertThat(tokenStream.peek(0).getType()).isEqualTo(Type.PRINT_START);
      assertThat(tokenStream.peek(0).getValue()).isNull();
  
      assertThat(tokenStream.peek(1).getType()).isEqualTo(Type.NAME);
      assertThat(tokenStream.peek(1).getValue()).isEqualTo("whatever");
  
      assertThat(tokenStream.peek(2).getType()).isEqualTo(Type.PRINT_END);
      assertThat(tokenStream.peek(2).getValue()).isEqualTo("}}");
  
      assertThat(tokenStream.peek(3).getType()).isEqualTo(Type.EOF);
      assertThat(tokenStream.peek(3).getValue()).isNull();
    }
  
  }