Пример #1
0
 private Lexeme getLexeme(Lexer lex) throws ValidationReaderException {
   Lexeme lexeme = null;
   if (lex.hasLexeme()) {
     lexeme = lex.nextLexeme();
   }
   return lexeme;
 }
Пример #2
0
  @Test
  public void should_print_at_start() {
    Lexer lexer = new Lexer("(3x + y) * 3");
    // (

    assertEquals("[(]3x + y) * 3", lexer.printPosition());
  }
Пример #3
0
  private List<Lexeme> getLexemes(Lexer lex) throws ValidationReaderException {
    List<Lexeme> lexemes = new ArrayList<Lexeme>();

    while (lex.hasLexeme()) {
      lexemes.add(lex.nextLexeme());
    }
    return lexemes;
  }
Пример #4
0
 @Test
 public void should_print_at_last_letter() throws ValidationReaderException {
   Lexer lexer = new Lexer("(3x + y) * 3");
   while (lexer.hasLexeme()) {
     lexer.nextLexeme();
   }
   assertEquals("(3x + y) * 3[]", lexer.printPosition());
 }
Пример #5
0
  @Test
  public void should_print_at_2nd_letter() throws ValidationReaderException {
    Lexer lexer = new Lexer("(3x + y) * 3");
    // (
    lexer.nextLexeme(); // 3

    assertEquals("([3]x + y) * 3", lexer.printPosition());
  }
Пример #6
0
  @Test
  public void should_return_EndOfDefinition() throws ValidationReaderException {
    Lexer lex = new Lexer("x1 23");
    lex.nextLexeme();
    lex.nextLexeme();

    assertThat(EOD, "", lex.nextLexeme());
  }
Пример #7
0
  @Test
  public void should_print_at_6th_letter() throws ValidationReaderException {
    Lexer lexer = new Lexer("(3x + y) * 3");
    // (
    lexer.nextLexeme(); // 3
    lexer.nextLexeme(); // x
    lexer.nextLexeme(); // +
    lexer.nextLexeme(); // y
    lexer.nextLexeme(); // )

    assertEquals("(3x + y[)] * 3", lexer.printPosition());
  }
Пример #8
0
  @Test
  public void should_print_at_before_last_letter() throws ValidationReaderException {
    Lexer lexer = new Lexer("(3x + y) * 3");
    // (
    lexer.nextLexeme(); // 3
    lexer.nextLexeme(); // x
    lexer.nextLexeme(); // +
    lexer.nextLexeme(); // y
    lexer.nextLexeme(); // )
    lexer.nextLexeme(); // *
    lexer.nextLexeme(); // 3

    assertEquals("(3x + y) * [3]", lexer.printPosition());
  }
Пример #9
0
  @Test
  public void should_print_at_start_on_single_letter() {
    Lexer lexer = new Lexer("3");

    assertEquals("[3]", lexer.printPosition());
  }