github.com/gogo/protobuf@v1.3.2/test/issue322/issue322pb_test.go (about) 1 // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 // source: issue322.proto 3 4 package test 5 6 import ( 7 fmt "fmt" 8 _ "github.com/gogo/protobuf/gogoproto" 9 github_com_gogo_protobuf_jsonpb "github.com/gogo/protobuf/jsonpb" 10 github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" 11 proto "github.com/gogo/protobuf/proto" 12 go_parser "go/parser" 13 math "math" 14 math_rand "math/rand" 15 testing "testing" 16 time "time" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var _ = proto.Marshal 21 var _ = fmt.Errorf 22 var _ = math.Inf 23 24 func TestOneofTestProto(t *testing.T) { 25 seed := time.Now().UnixNano() 26 popr := math_rand.New(math_rand.NewSource(seed)) 27 p := NewPopulatedOneofTest(popr, false) 28 dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) 29 if err != nil { 30 t.Fatalf("seed = %d, err = %v", seed, err) 31 } 32 msg := &OneofTest{} 33 if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { 34 t.Fatalf("seed = %d, err = %v", seed, err) 35 } 36 littlefuzz := make([]byte, len(dAtA)) 37 copy(littlefuzz, dAtA) 38 for i := range dAtA { 39 dAtA[i] = byte(popr.Intn(256)) 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 55 func TestOneofTestMarshalTo(t *testing.T) { 56 seed := time.Now().UnixNano() 57 popr := math_rand.New(math_rand.NewSource(seed)) 58 p := NewPopulatedOneofTest(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 := &OneofTest{} 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 !p.Equal(msg) { 76 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 77 } 78 } 79 80 func TestOneofTestJSON(t *testing.T) { 81 seed := time.Now().UnixNano() 82 popr := math_rand.New(math_rand.NewSource(seed)) 83 p := NewPopulatedOneofTest(popr, true) 84 marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{} 85 jsondata, err := marshaler.MarshalToString(p) 86 if err != nil { 87 t.Fatalf("seed = %d, err = %v", seed, err) 88 } 89 msg := &OneofTest{} 90 err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg) 91 if err != nil { 92 t.Fatalf("seed = %d, err = %v", seed, err) 93 } 94 if !p.Equal(msg) { 95 t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p) 96 } 97 } 98 func TestOneofTestProtoText(t *testing.T) { 99 seed := time.Now().UnixNano() 100 popr := math_rand.New(math_rand.NewSource(seed)) 101 p := NewPopulatedOneofTest(popr, true) 102 dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p) 103 msg := &OneofTest{} 104 if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { 105 t.Fatalf("seed = %d, err = %v", seed, err) 106 } 107 if !p.Equal(msg) { 108 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 109 } 110 } 111 112 func TestOneofTestProtoCompactText(t *testing.T) { 113 seed := time.Now().UnixNano() 114 popr := math_rand.New(math_rand.NewSource(seed)) 115 p := NewPopulatedOneofTest(popr, true) 116 dAtA := github_com_gogo_protobuf_proto.CompactTextString(p) 117 msg := &OneofTest{} 118 if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil { 119 t.Fatalf("seed = %d, err = %v", seed, err) 120 } 121 if !p.Equal(msg) { 122 t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p) 123 } 124 } 125 126 func TestOneofTestCompare(t *testing.T) { 127 popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) 128 p := NewPopulatedOneofTest(popr, false) 129 dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) 130 if err != nil { 131 panic(err) 132 } 133 msg := &OneofTest{} 134 if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil { 135 panic(err) 136 } 137 if c := p.Compare(msg); c != 0 { 138 t.Fatalf("%#v !Compare %#v, since %d", msg, p, c) 139 } 140 p2 := NewPopulatedOneofTest(popr, false) 141 c := p.Compare(p2) 142 c2 := p2.Compare(p) 143 if c != (-1 * c2) { 144 t.Errorf("p.Compare(p2) = %d", c) 145 t.Errorf("p2.Compare(p) = %d", c2) 146 t.Errorf("p = %#v", p) 147 t.Errorf("p2 = %#v", p2) 148 } 149 } 150 func TestOneofTestGoString(t *testing.T) { 151 popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano())) 152 p := NewPopulatedOneofTest(popr, false) 153 s1 := p.GoString() 154 s2 := fmt.Sprintf("%#v", p) 155 if s1 != s2 { 156 t.Fatalf("GoString want %v got %v", s1, s2) 157 } 158 _, err := go_parser.ParseExpr(s1) 159 if err != nil { 160 t.Fatal(err) 161 } 162 } 163 func TestOneofTestSize(t *testing.T) { 164 seed := time.Now().UnixNano() 165 popr := math_rand.New(math_rand.NewSource(seed)) 166 p := NewPopulatedOneofTest(popr, true) 167 size2 := github_com_gogo_protobuf_proto.Size(p) 168 dAtA, err := github_com_gogo_protobuf_proto.Marshal(p) 169 if err != nil { 170 t.Fatalf("seed = %d, err = %v", seed, err) 171 } 172 size := p.Size() 173 if len(dAtA) != size { 174 t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA)) 175 } 176 if size2 != size { 177 t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2) 178 } 179 size3 := github_com_gogo_protobuf_proto.Size(p) 180 if size3 != size { 181 t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3) 182 } 183 } 184 185 //These tests are generated by github.com/gogo/protobuf/plugin/testgen