Newer
Older
package packet
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestCommunityStringFromUint32(t *testing.T) {
tests := []struct {
name string
value uint32
expected string
}{
{
name: "both elements",
value: 131080,
expected: "(2,8)",
},
{
name: "right element only",
value: 250,
expected: "(0,250)",
},
{
name: "left element only",
value: 131072,
expected: "(2,0)",
},
}
for _, test := range tests {
t.Run(test.name, func(te *testing.T) {
assert.Equal(te, test.expected, CommunityStringForUint32(test.value))
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
})
}
}
func TestParseCommunityString(t *testing.T) {
tests := []struct {
name string
value string
expected uint32
wantFail bool
}{
{
name: "both elements",
expected: 131080,
value: "(2,8)",
},
{
name: "right element only",
expected: 250,
value: "(0,250)",
},
{
name: "left element only",
expected: 131072,
value: "(2,0)",
},
{
name: "too big",
value: "(131072,256)",
wantFail: true,
},
{
name: "empty string",
value: "",
wantFail: true,
},
{
name: "random string",
value: "foo-bar",
wantFail: true,
},
}
for _, test := range tests {
t.Run(test.name, func(te *testing.T) {
c, err := ParseCommunityString(test.value)
if test.wantFail {
if err == nil {
te.Fatal("test was expected to fail, but did not")
}
return
}
assert.Equal(te, test.expected, c)
})
}
}