-
Notifications
You must be signed in to change notification settings - Fork 0
/
parameter_test.go
56 lines (48 loc) · 1.08 KB
/
parameter_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package cli
import (
"fmt"
"testing"
)
func TestFormatParameter(t *testing.T) {
tests := []struct {
p *Parameter
result string
}{
{
&Parameter{Name: "one", Optional: false, Many: false},
"<ONE>",
},
{
&Parameter{Name: "one", Optional: false, Many: true},
"<ONE...>",
},
{
&Parameter{Name: "one", Optional: true, Many: false},
"[ONE]",
},
{
&Parameter{Name: "one", Optional: true, Many: true},
"[ONE...]",
},
}
for i, test := range tests {
result := FormatParameter(test.p)
if result != test.result {
t.Errorf("%v: result = %v WANT %v", i, result, test.result)
}
}
}
func testFormatParameter(p *Parameter) string {
return fmt.Sprintf("FormattedParameter(%v,%v,%v)", p.Name, p.Optional, p.Many)
}
func TestFormatParameters(t *testing.T) {
params := []*Parameter{
{Name: "one", Optional: true, Many: false},
{Name: "two", Optional: false, Many: true},
}
result := FormatParameters(params, testFormatParameter)
want := "FormattedParameter(one,true,false) FormattedParameter(two,false,true)"
if result != want {
t.Fail()
}
}