@Test
public void testLexer() {

  Parser<?> parser = TerminalParser.TOKENIZER;
  assertEquals(new ScientificNumberLiteral("1e2", NumberType.DOUBLE), parser.parse("1e2"));
  assertEquals(new ScientificNumberLiteral("1e2", NumberType.FLOAT), parser.parse("1e2f"));
  assertEquals("foo", parser.parse("\"foo\""));
  assertEquals('a', parser.parse("'a'"));
  assertEquals(Tokens.reserved("import"), parser.parse("import"));
  Assert.assertEquals(new DecimalPointNumberLiteral("1.2", NumberType.DOUBLE), parser.parse("1.2"));
  assertEquals(new IntegerLiteral(Radix.DEC, "1", NumberType.INT), parser.parse("1"));
  assertEquals(new IntegerLiteral(Radix.HEX, "1", NumberType.LONG), parser.parse("0X1L"));
  assertEquals(new IntegerLiteral(Radix.OCT, "1", NumberType.DOUBLE), parser.parse("01D"));
}