...

Source file src/github.com/gogo/protobuf/test/filedotname/file.dotpb_test.go

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

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: file.dot.proto
     3  
     4  package filedotname
     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 TestMProto(t *testing.T) {
    25  	seed := time.Now().UnixNano()
    26  	popr := math_rand.New(math_rand.NewSource(seed))
    27  	p := NewPopulatedM(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 := &M{}
    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 err := p.VerboseEqual(msg); err != nil {
    42  		t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
    43  	}
    44  	if !p.Equal(msg) {
    45  		t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
    46  	}
    47  	if len(littlefuzz) > 0 {
    48  		fuzzamount := 100
    49  		for i := 0; i < fuzzamount; i++ {
    50  			littlefuzz[popr.Intn(len(littlefuzz))] = byte(popr.Intn(256))
    51  			littlefuzz = append(littlefuzz, byte(popr.Intn(256)))
    52  		}
    53  		// shouldn't panic
    54  		_ = github_com_gogo_protobuf_proto.Unmarshal(littlefuzz, msg)
    55  	}
    56  }
    57  
    58  func BenchmarkMProtoMarshal(b *testing.B) {
    59  	popr := math_rand.New(math_rand.NewSource(616))
    60  	total := 0
    61  	pops := make([]*M, 10000)
    62  	for i := 0; i < 10000; i++ {
    63  		pops[i] = NewPopulatedM(popr, false)
    64  	}
    65  	b.ResetTimer()
    66  	for i := 0; i < b.N; i++ {
    67  		dAtA, err := github_com_gogo_protobuf_proto.Marshal(pops[i%10000])
    68  		if err != nil {
    69  			panic(err)
    70  		}
    71  		total += len(dAtA)
    72  	}
    73  	b.SetBytes(int64(total / b.N))
    74  }
    75  
    76  func BenchmarkMProtoUnmarshal(b *testing.B) {
    77  	popr := math_rand.New(math_rand.NewSource(616))
    78  	total := 0
    79  	datas := make([][]byte, 10000)
    80  	for i := 0; i < 10000; i++ {
    81  		dAtA, err := github_com_gogo_protobuf_proto.Marshal(NewPopulatedM(popr, false))
    82  		if err != nil {
    83  			panic(err)
    84  		}
    85  		datas[i] = dAtA
    86  	}
    87  	msg := &M{}
    88  	b.ResetTimer()
    89  	for i := 0; i < b.N; i++ {
    90  		total += len(datas[i%10000])
    91  		if err := github_com_gogo_protobuf_proto.Unmarshal(datas[i%10000], msg); err != nil {
    92  			panic(err)
    93  		}
    94  	}
    95  	b.SetBytes(int64(total / b.N))
    96  }
    97  
    98  func TestMJSON(t *testing.T) {
    99  	seed := time.Now().UnixNano()
   100  	popr := math_rand.New(math_rand.NewSource(seed))
   101  	p := NewPopulatedM(popr, true)
   102  	marshaler := github_com_gogo_protobuf_jsonpb.Marshaler{}
   103  	jsondata, err := marshaler.MarshalToString(p)
   104  	if err != nil {
   105  		t.Fatalf("seed = %d, err = %v", seed, err)
   106  	}
   107  	msg := &M{}
   108  	err = github_com_gogo_protobuf_jsonpb.UnmarshalString(jsondata, msg)
   109  	if err != nil {
   110  		t.Fatalf("seed = %d, err = %v", seed, err)
   111  	}
   112  	if err := p.VerboseEqual(msg); err != nil {
   113  		t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
   114  	}
   115  	if !p.Equal(msg) {
   116  		t.Fatalf("seed = %d, %#v !Json Equal %#v", seed, msg, p)
   117  	}
   118  }
   119  func TestMProtoText(t *testing.T) {
   120  	seed := time.Now().UnixNano()
   121  	popr := math_rand.New(math_rand.NewSource(seed))
   122  	p := NewPopulatedM(popr, true)
   123  	dAtA := github_com_gogo_protobuf_proto.MarshalTextString(p)
   124  	msg := &M{}
   125  	if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
   126  		t.Fatalf("seed = %d, err = %v", seed, err)
   127  	}
   128  	if err := p.VerboseEqual(msg); err != nil {
   129  		t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
   130  	}
   131  	if !p.Equal(msg) {
   132  		t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
   133  	}
   134  }
   135  
   136  func TestMProtoCompactText(t *testing.T) {
   137  	seed := time.Now().UnixNano()
   138  	popr := math_rand.New(math_rand.NewSource(seed))
   139  	p := NewPopulatedM(popr, true)
   140  	dAtA := github_com_gogo_protobuf_proto.CompactTextString(p)
   141  	msg := &M{}
   142  	if err := github_com_gogo_protobuf_proto.UnmarshalText(dAtA, msg); err != nil {
   143  		t.Fatalf("seed = %d, err = %v", seed, err)
   144  	}
   145  	if err := p.VerboseEqual(msg); err != nil {
   146  		t.Fatalf("seed = %d, %#v !VerboseProto %#v, since %v", seed, msg, p, err)
   147  	}
   148  	if !p.Equal(msg) {
   149  		t.Fatalf("seed = %d, %#v !Proto %#v", seed, msg, p)
   150  	}
   151  }
   152  
   153  func TestFileDotDescription(t *testing.T) {
   154  	FileDotDescription()
   155  }
   156  func TestMVerboseEqual(t *testing.T) {
   157  	popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
   158  	p := NewPopulatedM(popr, false)
   159  	dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
   160  	if err != nil {
   161  		panic(err)
   162  	}
   163  	msg := &M{}
   164  	if err := github_com_gogo_protobuf_proto.Unmarshal(dAtA, msg); err != nil {
   165  		panic(err)
   166  	}
   167  	if err := p.VerboseEqual(msg); err != nil {
   168  		t.Fatalf("%#v !VerboseEqual %#v, since %v", msg, p, err)
   169  	}
   170  }
   171  func TestMFace(t *testing.T) {
   172  	popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
   173  	p := NewPopulatedM(popr, true)
   174  	msg := p.TestProto()
   175  	if !p.Equal(msg) {
   176  		t.Fatalf("%#v !Face Equal %#v", msg, p)
   177  	}
   178  }
   179  func TestMGoString(t *testing.T) {
   180  	popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
   181  	p := NewPopulatedM(popr, false)
   182  	s1 := p.GoString()
   183  	s2 := fmt.Sprintf("%#v", p)
   184  	if s1 != s2 {
   185  		t.Fatalf("GoString want %v got %v", s1, s2)
   186  	}
   187  	_, err := go_parser.ParseExpr(s1)
   188  	if err != nil {
   189  		t.Fatal(err)
   190  	}
   191  }
   192  func TestMSize(t *testing.T) {
   193  	seed := time.Now().UnixNano()
   194  	popr := math_rand.New(math_rand.NewSource(seed))
   195  	p := NewPopulatedM(popr, true)
   196  	size2 := github_com_gogo_protobuf_proto.Size(p)
   197  	dAtA, err := github_com_gogo_protobuf_proto.Marshal(p)
   198  	if err != nil {
   199  		t.Fatalf("seed = %d, err = %v", seed, err)
   200  	}
   201  	size := p.Size()
   202  	if len(dAtA) != size {
   203  		t.Errorf("seed = %d, size %v != marshalled size %v", seed, size, len(dAtA))
   204  	}
   205  	if size2 != size {
   206  		t.Errorf("seed = %d, size %v != before marshal proto.Size %v", seed, size, size2)
   207  	}
   208  	size3 := github_com_gogo_protobuf_proto.Size(p)
   209  	if size3 != size {
   210  		t.Errorf("seed = %d, size %v != after marshal proto.Size %v", seed, size, size3)
   211  	}
   212  }
   213  
   214  func BenchmarkMSize(b *testing.B) {
   215  	popr := math_rand.New(math_rand.NewSource(616))
   216  	total := 0
   217  	pops := make([]*M, 1000)
   218  	for i := 0; i < 1000; i++ {
   219  		pops[i] = NewPopulatedM(popr, false)
   220  	}
   221  	b.ResetTimer()
   222  	for i := 0; i < b.N; i++ {
   223  		total += pops[i%1000].Size()
   224  	}
   225  	b.SetBytes(int64(total / b.N))
   226  }
   227  
   228  func TestMStringer(t *testing.T) {
   229  	popr := math_rand.New(math_rand.NewSource(time.Now().UnixNano()))
   230  	p := NewPopulatedM(popr, false)
   231  	s1 := p.String()
   232  	s2 := fmt.Sprintf("%v", p)
   233  	if s1 != s2 {
   234  		t.Fatalf("String want %v got %v", s1, s2)
   235  	}
   236  }
   237  
   238  //These tests are generated by github.com/gogo/protobuf/plugin/testgen
   239  

View as plain text