...

Source file src/github.com/gogo/protobuf/test/issue322/issue322pb_test.go

Documentation: github.com/gogo/protobuf/test/issue322

     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
   186  

View as plain text