diff options
author | Franck Cuny <franck@fcuny.net> | 2022-10-27 19:24:57 -0700 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2022-10-27 19:24:57 -0700 |
commit | a5679641aa0eb9e872605b70c263c3e950132647 (patch) | |
tree | 7f4a9670365f8f13152d1070e5d5803f3618aa91 /users/fcuny/exp/monkey/pkg/lexer/lexer_test.go | |
parent | feat(ops/github): archive notes.fcuny.net (diff) | |
download | world-a5679641aa0eb9e872605b70c263c3e950132647.tar.gz |
ref(users/fcuny): and just like that ...
Diffstat (limited to 'users/fcuny/exp/monkey/pkg/lexer/lexer_test.go')
-rw-r--r-- | users/fcuny/exp/monkey/pkg/lexer/lexer_test.go | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/users/fcuny/exp/monkey/pkg/lexer/lexer_test.go b/users/fcuny/exp/monkey/pkg/lexer/lexer_test.go deleted file mode 100644 index fdea1d3..0000000 --- a/users/fcuny/exp/monkey/pkg/lexer/lexer_test.go +++ /dev/null @@ -1,125 +0,0 @@ -package lexer - -import ( - "monkey/pkg/token" - "testing" -) - -func TestNextToken(t *testing.T) { - input := `let five = 5; -let ten = 10; - -let add = fn(x, y) { - x + y -}; - -let result = add(five, ten); -!-/*5; -10 > 5; - -if (5 < 10) { - return true; -} else { - return false; -} - -10 == 10; -10 != 9; -` - - tests := []struct { - expectedType token.TokenType - expectedLiteral string - }{ - {token.LET, "let"}, - {token.IDENT, "five"}, - {token.ASSIGN, "="}, - {token.INT, "5"}, - {token.SEMICOLON, ";"}, - - {token.LET, "let"}, - {token.IDENT, "ten"}, - {token.ASSIGN, "="}, - {token.INT, "10"}, - {token.SEMICOLON, ";"}, - - {token.LET, "let"}, - {token.IDENT, "add"}, - {token.ASSIGN, "="}, - {token.FUNCTION, "fn"}, - {token.LPAREN, "("}, - {token.IDENT, "x"}, - {token.COMMA, ","}, - {token.IDENT, "y"}, - {token.RPAREN, ")"}, - {token.LBRACE, "{"}, - {token.IDENT, "x"}, - {token.PLUS, "+"}, - {token.IDENT, "y"}, - {token.RBRACE, "}"}, - {token.SEMICOLON, ";"}, - - {token.LET, "let"}, - {token.IDENT, "result"}, - {token.ASSIGN, "="}, - {token.IDENT, "add"}, - {token.LPAREN, "("}, - {token.IDENT, "five"}, - {token.COMMA, ","}, - {token.IDENT, "ten"}, - {token.RPAREN, ")"}, - {token.SEMICOLON, ";"}, - - {token.BANG, "!"}, - {token.MINUS, "-"}, - {token.SLASH, "/"}, - {token.ASTERISK, "*"}, - {token.INT, "5"}, - {token.SEMICOLON, ";"}, - - {token.INT, "10"}, - {token.GT, ">"}, - {token.INT, "5"}, - {token.SEMICOLON, ";"}, - - {token.IF, "if"}, - {token.LPAREN, "("}, - {token.INT, "5"}, - {token.LT, "<"}, - {token.INT, "10"}, - {token.RPAREN, ")"}, - {token.LBRACE, "{"}, - {token.RETURN, "return"}, - {token.TRUE, "true"}, - {token.SEMICOLON, ";"}, - {token.RBRACE, "}"}, - {token.ELSE, "else"}, - {token.LBRACE, "{"}, - {token.RETURN, "return"}, - {token.FALSE, "false"}, - {token.SEMICOLON, ";"}, - {token.RBRACE, "}"}, - - {token.INT, "10"}, - {token.EQ, "=="}, - {token.INT, "10"}, - {token.SEMICOLON, ";"}, - - {token.INT, "10"}, - {token.NOT_EQ, "!="}, - {token.INT, "9"}, - {token.SEMICOLON, ";"}, - } - - l := New(input) - for i, tt := range tests { - tok := l.NextToken() - if tok.Type != tt.expectedType { - t.Fatalf("tests[%d] - tokentype wrong. expected=%q, got=%q", i, tt.expectedType, tok.Type) - } - - if tok.Literal != tt.expectedLiteral { - t.Fatalf("tests[%d] - tokenliteral wrong. expected=%q, got=%q", i, tt.expectedLiteral, tok.Literal) - } - } -} |