1package types
2
3import (
4	"testing"
5)
6
7func TestEnumParserBool(t *testing.T) {
8	for _, tt := range []struct {
9		val string
10		res bool
11		ok  bool
12	}{
13		{val: "tRuE", res: true, ok: true},
14		{val: "False", res: false, ok: true},
15		{val: "t", ok: false},
16	} {
17		b, err := ParseBool(tt.val)
18		switch {
19		case tt.ok && err != nil:
20			t.Errorf("%q: got error %v, want %v", tt.val, err, tt.res)
21		case !tt.ok && err == nil:
22			t.Errorf("%q: got %v, want error", tt.val, b)
23		case tt.ok && b != tt.res:
24			t.Errorf("%q: got %v, want %v", tt.val, b, tt.res)
25		default:
26			t.Logf("%q: got %v, %v", tt.val, b, err)
27		}
28	}
29}
30