-
Notifications
You must be signed in to change notification settings - Fork 77
/
proto_test.go
97 lines (73 loc) · 1.83 KB
/
proto_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
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
94
95
96
97
package pgs
import (
"testing"
"github.com/stretchr/testify/assert"
descriptor "google.golang.org/protobuf/types/descriptorpb"
)
func TestSyntax_SupportsRequiredPrefix(t *testing.T) {
t.Parallel()
assert.True(t, Proto2.SupportsRequiredPrefix())
assert.False(t, Proto3.SupportsRequiredPrefix())
}
func TestSyntax_String(t *testing.T) {
t.Parallel()
assert.Equal(t, Proto2.String(), "")
assert.Equal(t, Proto3.String(), "proto3")
}
func TestProtoType_IsInt(t *testing.T) {
t.Parallel()
yes := []ProtoType{
Int64T, UInt64T, SFixed64, SInt64, Fixed64T,
Int32T, UInt32T, SFixed32, SInt32, Fixed32T,
}
no := []ProtoType{
DoubleT, FloatT, BoolT, StringT,
GroupT, MessageT, BytesT, EnumT,
}
for _, pt := range yes {
assert.True(t, pt.IsInt())
}
for _, pt := range no {
assert.False(t, pt.IsInt())
}
}
func TestProtoType_IsNumeric(t *testing.T) {
t.Parallel()
yes := []ProtoType{
Int64T, UInt64T, SFixed64, SInt64, Fixed64T,
Int32T, UInt32T, SFixed32, SInt32, Fixed32T,
DoubleT, FloatT,
}
no := []ProtoType{
BoolT, StringT, GroupT,
MessageT, BytesT, EnumT,
}
for _, pt := range yes {
assert.True(t, pt.IsNumeric())
}
for _, pt := range no {
assert.False(t, pt.IsNumeric())
}
}
func TestProtoType_Proto(t *testing.T) {
t.Parallel()
pt := BytesT.Proto()
ptPtr := BytesT.ProtoPtr()
assert.Equal(t, descriptor.FieldDescriptorProto_TYPE_BYTES, pt)
assert.Equal(t, pt, *ptPtr)
}
func TestProtoType_String(t *testing.T) {
t.Parallel()
assert.Equal(t, DoubleT.String(), "TYPE_DOUBLE")
}
func TestProtoLabel_Proto(t *testing.T) {
t.Parallel()
pl := Repeated.Proto()
plPtr := Repeated.ProtoPtr()
assert.Equal(t, descriptor.FieldDescriptorProto_LABEL_REPEATED, pl)
assert.Equal(t, pl, *plPtr)
}
func TestProtoLabel_String(t *testing.T) {
t.Parallel()
assert.Equal(t, Repeated.String(), "LABEL_REPEATED")
}