1
0
treerack/scheme_test.go

86 lines
1.4 KiB
Go

package treerack
import "testing"
func TestScheme(t *testing.T) {
runTestsFile(t, "doc/example/scheme.treerack", []testItem{{
title: "empty",
node: Node{Name: "scheme"},
}, {
title: "a function",
text: `
(define (foo a b c)
(let ([bar (+ a b c)]
[baz (- a b c)])
(* bar baz)))
`,
nodes: []Node{{
Name: "list",
Nodes: []Node{{
Name: "symbol",
}, {
Name: "list",
Nodes: []Node{{
Name: "symbol",
}, {
Name: "symbol",
}, {
Name: "symbol",
}, {
Name: "symbol",
}},
}, {
Name: "list",
Nodes: []Node{{
Name: "symbol",
}, {
Name: "list",
Nodes: []Node{{
Name: "list",
Nodes: []Node{{
Name: "symbol",
}, {
Name: "list",
Nodes: []Node{{
Name: "symbol",
}, {
Name: "symbol",
}, {
Name: "symbol",
}, {
Name: "symbol",
}},
}},
}, {
Name: "list",
Nodes: []Node{{
Name: "symbol",
}, {
Name: "list",
Nodes: []Node{{
Name: "symbol",
}, {
Name: "symbol",
}, {
Name: "symbol",
}, {
Name: "symbol",
}},
}},
}},
}, {
Name: "list",
Nodes: []Node{{
Name: "symbol",
}, {
Name: "symbol",
}, {
Name: "symbol",
}},
}},
}},
}},
ignorePosition: true,
}})
}