12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package tier
- import (
- "bufio"
- "bytes"
- "testing"
- )
- func defTestOpts() Opts {
- defaultOpts := Opts{}
- defaultOpts.IdentMap = make(map[string]SymCode)
- defaultOpts.IdentMap["BEGIN"] = 100
- defaultOpts.SpaceMap = make(map[string]SymCode)
- defaultOpts.SpaceMap[" "] = 101
- defaultOpts.SpaceMap["\n"] = 102
- defaultOpts.NumContains = func() string { return "ABCDEF" }
- defaultOpts.NumModifiers = func() string { return "UH" }
- defaultOpts.CombinedMap = make(map[string]SymCode)
- defaultOpts.CombinedMap[":"] = 200
- defaultOpts.CombinedMap[":="] = 201
- defaultOpts.CombinedMap[":=="] = 203
- defaultOpts.CombinedMap[">"] = 204
- defaultOpts.CombinedMap["<"] = 205
- defaultOpts.CombinedMap["-"] = 206
- defaultOpts.CombinedMap[";"] = 207
- defaultOpts.CommentTriplet = [3]rune{'(', '*', ')'}
- return defaultOpts
- }
- func TestScanner(t *testing.T) {
- const testString = `
- BEGIN
- f asdf asdf xx x23 (* dfa3asd *) 33FH 3FU 234U 3.3 : := :== > < 0.12314 003141 -efef23 asdfd asf "dfsdfa sdf asdf " 'df' df'd' ;; ;
- `
- sc := NewScanner(bufio.NewReader(bytes.NewBufferString(testString)), defTestOpts())
- for sc.Error() == nil {
- t.Log(sc.Get())
- }
- }
- func TestRunner(t *testing.T) {
- const testString = `
- BEGIN
- f asdf asdf xx x23 (* dfa3asd *) 33FH 3FU 234U 3.3 : := :== > < 0.12314 003141 -efef23 asdfd asf "dfsdfa sdf asdf " 'df' df'd' ;; ;
- `
- sc := NewScanner(bufio.NewReader(bytes.NewBufferString(testString)), defTestOpts())
- run := NewRunner(sc, NewMarker(sc, func(msg ...interface{}) {
- t.Log(msg...)
- }))
- Debug(run)
- run.Expect(100, "begin expected", 102)
- run.Run(207)
- }
- func TestMapper(t *testing.T) {
- const testString = `
- BEGIN
- f asdf asdf xx x23 (* dfa3asd *) 33FH 3FU 234U 3.3 : := :== > < 0.12314 003141 -efef23 asdfd asf "dfsdfa sdf asdf " 'df' df'd' ;; ;
- `
- sc := NewScanner(bufio.NewReader(bytes.NewBufferString(testString)), defTestOpts())
- mp := NewMapper(sc)
- run := NewRunner(mp, NewMarker(sc, func(msg ...interface{}) {
- t.Log(msg...)
- }))
- Debug(run)
- run.Expect(100, "begin expected", 102)
- run.Run(207)
- t.Log(mp.Map())
- }
|