  @Test
  public void testProparseDirectiveLexPhase() {

    ParseUnit unit = new ParseUnit(new File(SRC_DIR, "lexer15.p"), session);
    TokenSource stream = unit.lex();

    ProToken tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.PROPARSEDIRECTIVE);
    assertEquals(tok.getChannel(), ProToken.PROPARSE_CHANNEL);
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.WS);
    assertEquals(tok.getChannel(), Token.HIDDEN_CHANNEL);
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.ID);
    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.EQUAL);
    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.NUMBER);
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.PERIOD);

    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.PROPARSEDIRECTIVE);
    assertEquals(tok.getChannel(), ProToken.PROPARSE_CHANNEL);
    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.ID);
    assertEquals(tok.getText(), "customer.custnum");
    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.EQUAL);
    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.NUMBER);
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.PERIOD);

    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.PROPARSEDIRECTIVE);
    assertEquals(tok.getChannel(), ProToken.PROPARSE_CHANNEL);
    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.ID);
    assertEquals(tok.getText(), "sp2k.customer.custnum");
    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.EQUAL);
    tok = (ProToken) stream.nextToken();
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.NUMBER);
    tok = (ProToken) stream.nextToken();
    assertEquals(tok.getNodeType(), ABLNodeType.PERIOD);
  }