1// Code generated by protoc-gen-gogo. DO NOT EDIT. 2// source: enumdecl.proto 3 4package enumdecl 5 6import testing "testing" 7import math_rand "math/rand" 8import time "time" 9import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" 10import github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 11import proto "github.com/gogo/protobuf/proto" 12import fmt "fmt" 13import math "math" 14import _ "github.com/gogo/protobuf/gogoproto" 15 16// Reference imports to suppress errors if they are not otherwise used. 17var _ = proto.Marshal 18var _ = fmt.Errorf 19var _ = math.Inf 20 21func TestMessageProto(t *testing.T) { 22 seed := time.Now().UnixNano() 23 popr := math_rand.New(math_rand.NewSource(seed)) 24 p := NewPopulatedMessage(popr, false) 25 dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) 26 if err != nil { 27 t.Fatalf("seed = %d, err = %v", seed, err) 28 } 29 msg := &Message{} 30 if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { 31 t.Fatalf("seed = %d, err = %v", seed, err) 32 } 33 littlefuzz := make([]byte, len(dAtA)) 34 copy(littlefuzz, dAtA) 35 for i := range dAtA { 36 dAtA[i] = byte(popr.Intn(256)) 37 } 38 if err := p.VerboseEqual(msg); err != nil { 39 t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) 40 } 41 if !p.Equal(msg) { 42 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 43 } 44 if len(littlefuzz) > 0 { 45 fuzzamount := 100 46 for i := 0; i < fuzzamount; i++ { 47 littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256)) 48 littlefuzz = append(littlefuzz, byte(popr.Intn(256))) 49 } 50 // shouldn't panic 51 _ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg) 52 } 53} 54 55func TestMessageMarshalTo(t *testing.T) { 56 seed := time.Now().UnixNano() 57 popr := math_rand.New(math_rand.NewSource(seed)) 58 p := NewPopulatedMessage(popr, false) 59 size := p.Size() 60 dAtA := make([]byte, size) 61 for i := range dAtA { 62 dAtA[i] = byte(popr.Intn(256)) 63 } 64 _, err := p.MarshalTo(dAtA) 65 if err != nil { 66 t.Fatalf("seed = %d, err = %v", seed, err) 67 } 68 msg := &Message{} 69 if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { 70 t.Fatalf("seed = %d, err = %v", seed, err) 71 } 72 for i := range dAtA { 73 dAtA[i] = byte(popr.Intn(256)) 74 } 75 if err := p.VerboseEqual(msg); err != nil { 76 t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) 77 } 78 if !p.Equal(msg) { 79 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 80 } 81} 82 83func BenchmarkMessageProtoMarshal(b *testing.B) { 84 popr := math_rand.New(math_rand.NewSource(616)) 85 total := 0 86 pops := make([]*Message, 10000) 87 for i := 0; i < 10000; i++ { 88 pops[i] = NewPopulatedMessage(popr, false) 89 } 90 b.ResetTimer() 91 for i := 0; i < b.N; i++ { 92 dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000]) 93 if err != nil { 94 panic(err) 95 } 96 total += len(dAtA) 97 } 98 b.SetBytes(int64(total / b.N)) 99} 100 101func BenchmarkMessageProtoUnmarshal(b *testing.B) { 102 popr := math_rand.New(math_rand.NewSource(616)) 103 total := 0 104 datas := make([][]byte, 10000) 105 for i := 0; i < 10000; i++ { 106 dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedMessage(popr, false)) 107 if err != nil { 108 panic(err) 109 } 110 datas[i] = dAtA 111 } 112 msg := &Message{} 113 b.ResetTimer() 114 for i := 0; i < b.N; i++ { 115 total += len(datas[i%10000]) 116 if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil { 117 panic(err) 118 } 119 } 120 b.SetBytes(int64(total / b.N)) 121} 122 123func TestMessageJSON(t *testing.T) { 124 seed := time.Now().UnixNano() 125 popr := math_rand.New(math_rand.NewSource(seed)) 126 p := NewPopulatedMessage(popr, true) 127 marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{} 128 jsondata, err := marshaler.MarshalToString(p) 129 if err != nil { 130 t.Fatalf("seed = %d, err = %v", seed, err) 131 } 132 msg := &Message{} 133 err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg) 134 if err != nil { 135 t.Fatalf("seed = %d, err = %v", seed, err) 136 } 137 if err := p.VerboseEqual(msg); err != nil { 138 t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) 139 } 140 if !p.Equal(msg) { 141 t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) 142 } 143} 144func TestMessageProtoText(t *testing.T) { 145 seed := time.Now().UnixNano() 146 popr := math_rand.New(math_rand.NewSource(seed)) 147 p := NewPopulatedMessage(popr, true) 148 dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) 149 msg := &Message{} 150 if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { 151 t.Fatalf("seed = %d, err = %v", seed, err) 152 } 153 if err := p.VerboseEqual(msg); err != nil { 154 t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) 155 } 156 if !p.Equal(msg) { 157 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 158 } 159} 160 161func TestMessageProtoCompactText(t *testing.T) { 162 seed := time.Now().UnixNano() 163 popr := math_rand.New(math_rand.NewSource(seed)) 164 p := NewPopulatedMessage(popr, true) 165 dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) 166 msg := &Message{} 167 if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { 168 t.Fatalf("seed = %d, err = %v", seed, err) 169 } 170 if err := p.VerboseEqual(msg); err != nil { 171 t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err) 172 } 173 if !p.Equal(msg) { 174 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 175 } 176} 177 178func TestMessageVerboseEqual(t *testing.T) { 179 popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) 180 p := NewPopulatedMessage(popr, false) 181 dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) 182 if err != nil { 183 panic(err) 184 } 185 msg := &Message{} 186 if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { 187 panic(err) 188 } 189 if err := p.VerboseEqual(msg); err != nil { 190 t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err) 191 } 192} 193func TestMessageSize(t *testing.T) { 194 seed := time.Now().UnixNano() 195 popr := math_rand.New(math_rand.NewSource(seed)) 196 p := NewPopulatedMessage(popr, true) 197 size2 := github_com_gogo_protobuf_proto.Size(p) 198 dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) 199 if err != nil { 200 t.Fatalf("seed = %d, err = %v", seed, err) 201 } 202 size := p.Size() 203 if len(dAtA) != size { 204 t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA)) 205 } 206 if size2 != size { 207 t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2) 208 } 209 size3 := github_com_gogo_protobuf_proto.Size(p) 210 if size3 != size { 211 t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3) 212 } 213} 214 215func BenchmarkMessageSize(b *testing.B) { 216 popr := math_rand.New(math_rand.NewSource(616)) 217 total := 0 218 pops := make([]*Message, 1000) 219 for i := 0; i < 1000; i++ { 220 pops[i] = NewPopulatedMessage(popr, false) 221 } 222 b.ResetTimer() 223 for i := 0; i < b.N; i++ { 224 total += pops[i%1000].Size() 225 } 226 b.SetBytes(int64(total / b.N)) 227} 228 229//These tests are generated by github.com/gogo/protobuf/plugin/testgen 230