treerack/scheme_test.go

85 lines
1.4 KiB
Go
Raw Permalink Normal View History

2017-07-15 21:49:08 +02:00
package treerack
2017-06-25 17:51:08 +02:00
import "testing"
func TestScheme(t *testing.T) {
2017-11-05 04:25:42 +01:00
runTestsFile(t, "examples/scheme.treerack", []testItem{{
2017-10-27 17:25:20 +02:00
title: "empty",
2017-06-25 17:51:08 +02:00
}, {
2017-10-27 17:25:20 +02:00
title: "a function",
2017-06-25 17:51:08 +02:00
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,
}})
}