| 47 | } |
| 48 | |
| 49 | func TestToken_String(t *testing.T) { |
| 50 | type Case struct { |
| 51 | token Token |
| 52 | expected string |
| 53 | } |
| 54 | |
| 55 | cases := []Case{ |
| 56 | { |
| 57 | token: Token{Type: Identifier, Raw: "name"}, |
| 58 | expected: "{type: identifier, raw: \"name\"}", |
| 59 | }, |
| 60 | { |
| 61 | token: Token{Type: Comma, Raw: ","}, |
| 62 | expected: "{type: comma, raw: \",\"}", |
| 63 | }, |
| 64 | } |
| 65 | |
| 66 | for _, c := range cases { |
| 67 | actual := c.token.String() |
| 68 | if c.expected != actual { |
| 69 | t.Fatalf("\nExpected %v\n Got %v", c.expected, actual) |
| 70 | } |
| 71 | } |
| 72 | } |
| 73 | |
| 74 | func TestToken_NewTokenizer(t *testing.T) { |
| 75 | input := "SELECT all FROM ." |