Package loop.lisp

Source Code of loop.lisp.SexprTokenizerTest

package loop.lisp;

import loop.Token;
import org.junit.Test;

import java.util.Arrays;

import static org.junit.Assert.assertEquals;

/**
* @author dhanji@gmail.com (Dhanji R. Prasanna)
*/
public class SexprTokenizerTest {
  @Test
  public final void simpleSExpressions() {
    assertEquals(Arrays.asList(
        new Token("(", Token.Kind.LPAREN, 0, 0),
        new Token("+", Token.Kind.PLUS, 0, 0),
        new Token("1", Token.Kind.INTEGER, 0, 0),
        new Token("2", Token.Kind.INTEGER, 0, 0),
        new Token(")", Token.Kind.RPAREN, 0, 0)),
        new SexprTokenizer("(+ 1 2)").tokenize());

    assertEquals(Arrays.asList(
        new Token("(", Token.Kind.LPAREN, 0, 0),
        new Token("+", Token.Kind.PLUS, 0, 0),
        new Token("(", Token.Kind.LPAREN, 0, 0),
        new Token("1", Token.Kind.INTEGER, 0, 0),
        new Token(")", Token.Kind.RPAREN, 0, 0),
        new Token("2", Token.Kind.INTEGER, 0, 0),
        new Token(")", Token.Kind.RPAREN, 0, 0)),
        new SexprTokenizer("(+ (1) 2)").tokenize());
  }

  @Test
  public final void simpleSExpressionsWithComments() {
    assertEquals(Arrays.asList(
        new Token("(", Token.Kind.LPAREN, 0, 0),
        new Token("+", Token.Kind.PLUS, 0, 0),
        new Token("(", Token.Kind.LPAREN, 0, 0),
        new Token("1", Token.Kind.INTEGER, 0, 0),
        new Token(")", Token.Kind.RPAREN, 0, 0),
        new Token("2", Token.Kind.INTEGER, 0, 0),
        new Token(")", Token.Kind.RPAREN, 0, 0)),
        new SexprTokenizer("(+ (1) 2) ;hello").tokenize());
    assertEquals(Arrays.asList(
        new Token("(", Token.Kind.LPAREN, 0, 0),
        new Token("+", Token.Kind.PLUS, 0, 0),
        new Token("(", Token.Kind.LPAREN, 0, 0),
        new Token("1", Token.Kind.INTEGER, 0, 0),
        new Token(")", Token.Kind.RPAREN, 0, 0),
        new Token("2", Token.Kind.INTEGER, 0, 0),
        new Token(")", Token.Kind.RPAREN, 0, 0)),
        new SexprTokenizer("(+ ;dude \n (1) 2);hello").tokenize());
    assertEquals(Arrays.asList(
        new Token("(", Token.Kind.LPAREN, 0, 0),
        new Token("+", Token.Kind.PLUS, 0, 0),
        new Token("(", Token.Kind.LPAREN, 0, 0),
        new Token("1", Token.Kind.INTEGER, 0, 0),
        new Token(")", Token.Kind.RPAREN, 0, 0),
        new Token("2", Token.Kind.INTEGER, 0, 0),
        new Token(")", Token.Kind.RPAREN, 0, 0)),
        new SexprTokenizer("(+ # dude \n (1) 2);hello").tokenize());
  }
}
TOP

Related Classes of loop.lisp.SexprTokenizerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.