29 lines
596 B
Go
29 lines
596 B
Go
|
package ast
|
||
|
|
||
|
import (
|
||
|
"monkey/token"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestString(l_test *testing.T) {
|
||
|
program := &Program{
|
||
|
Statements: []Statement{
|
||
|
&LetStatement{
|
||
|
Token: token.Token{Type: token.LET, Literal: "let"},
|
||
|
Name: &Identifier{
|
||
|
Token: token.Token{Type: token.IDENT, Literal: "my_var"},
|
||
|
Value: "my_var",
|
||
|
},
|
||
|
Value: &Identifier{
|
||
|
Token: token.Token{Type: token.IDENT, Literal: "another_var"},
|
||
|
Value: "another_var",
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
if program.String() != "let my_var = another_var;" {
|
||
|
l_test.Errorf("program.String() wrong, got=%q", program.String())
|
||
|
}
|
||
|
}
|