-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstructs_test.go
58 lines (48 loc) · 2.06 KB
/
structs_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
57
58
package extcap
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestStringerInterface(t *testing.T) {
testCases := []struct {
name string
str fmt.Stringer
expected string
}{
{"Interface",
CaptureInterface{"example1", "Example interface 1 for extcap"},
"interface {value=example1}{display=Example interface 1 for extcap}",
},
{"DLT",
DLT{147, "USER1", "Demo Implementation for Extcap"},
"dlt {number=147}{name=USER1}{display=Demo Implementation for Extcap}",
},
{"Config Integer option",
NewConfigIntegerOpt("delay", "Time delay").Range(1, 15).Required(true).Tooltip("Time delay between packages"),
"arg {number=0}{call=--delay}{display=Time delay}{type=integer}{tooltip=Time delay between packages}{required=true}{range=1,15}",
},
{"Config String option",
NewConfigStringOpt("server", "IP address for log server").Validation("\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b"),
"arg {number=0}{call=--server}{display=IP address for log server}{type=string}{validation=\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b}",
},
{"Config String option",
NewConfigStringOpt("message", "Message").Tooltip("Package message content").Placeholder("Please enter a message here ..."),
"arg {number=0}{call=--message}{display=Message}{type=string}{tooltip=Package message content}{placeholder=Please enter a message here ...}",
},
{"Config Bool option",
NewConfigBoolOpt("verify", "Verify").Tooltip("Verify package content"),
"arg {number=0}{call=--verify}{display=Verify}{type=boolflag}{tooltip=Verify package content}",
},
// arg {number=3}{call=--remote}{display=Remote Channel}{tooltip=Remote Channel Selector}{type=selector}
//
// value {arg=3}{value=if1}{display=Remote1}{default=true}
// value {arg=3}{value=if2}{display=Remote2}{default=false}
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
actual := fmt.Sprint(tc.str)
assert.Equal(t, tc.expected, actual)
})
}
}