| // Copyright 2017, The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE.md file. |
| |
| package testprotos |
| |
| func Equal(x, y Message) bool { |
| if x == nil || y == nil { |
| return x == nil && y == nil |
| } |
| return x.String() == y.String() |
| } |
| |
| type Message interface { |
| Proto() |
| String() string |
| } |
| |
| type proto interface { |
| Proto() |
| } |
| |
| type notComparable struct { |
| unexportedField func() |
| } |
| |
| type Stringer struct{ X string } |
| |
| func (s *Stringer) String() string { return s.X } |
| |
| // Project1 protocol buffers |
| type ( |
| Eagle_States int |
| Eagle_MissingCalls int |
| Dreamer_States int |
| Dreamer_MissingCalls int |
| Slap_States int |
| Goat_States int |
| Donkey_States int |
| SummerType int |
| |
| Eagle struct { |
| proto |
| notComparable |
| Stringer |
| } |
| Dreamer struct { |
| proto |
| notComparable |
| Stringer |
| } |
| Slap struct { |
| proto |
| notComparable |
| Stringer |
| } |
| Goat struct { |
| proto |
| notComparable |
| Stringer |
| } |
| Donkey struct { |
| proto |
| notComparable |
| Stringer |
| } |
| ) |
| |
| // Project2 protocol buffers |
| type ( |
| Germ struct { |
| proto |
| notComparable |
| Stringer |
| } |
| Dish struct { |
| proto |
| notComparable |
| Stringer |
| } |
| ) |
| |
| // Project3 protocol buffers |
| type ( |
| Dirt struct { |
| proto |
| notComparable |
| Stringer |
| } |
| Wizard struct { |
| proto |
| notComparable |
| Stringer |
| } |
| Sadistic struct { |
| proto |
| notComparable |
| Stringer |
| } |
| ) |
| |
| // Project4 protocol buffers |
| type ( |
| HoneyStatus int |
| PoisonType int |
| MetaData struct { |
| proto |
| notComparable |
| Stringer |
| } |
| Restrictions struct { |
| proto |
| notComparable |
| Stringer |
| } |
| ) |