...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package adt
16
17 import "testing"
18
19 func TestKindString(t *testing.T) {
20 testCases := []struct {
21 input Kind
22 want string
23 }{{
24 input: BottomKind,
25 want: "_|_",
26 }, {
27 input: IntKind | ListKind,
28 want: `(int|[...])`,
29 }, {
30 input: NullKind,
31 want: "null",
32 }, {
33 input: IntKind,
34 want: "int",
35 }, {
36 input: FloatKind,
37 want: "float",
38 }, {
39 input: StringKind,
40 want: "string",
41 }, {
42 input: BytesKind,
43 want: "bytes",
44 }, {
45 input: StructKind,
46 want: "{...}",
47 }, {
48 input: ListKind,
49 want: "[...]",
50 }, {
51 input: NumberKind,
52 want: "number",
53 }, {
54 input: BoolKind | NumberKind | ListKind,
55 want: "(bool|[...]|number)",
56 }, {
57 input: 1 << 15,
58 want: "bad(15)",
59 }}
60 for _, tc := range testCases {
61 t.Run(tc.want, func(t *testing.T) {
62 got := tc.input.TypeString()
63 if got != tc.want {
64 t.Errorf("\n got %v;\nwant %v", got, tc.want)
65 }
66 })
67 }
68 }
69
View as plain text