1*88d15eacSSasha Smundak// Copyright 2017, The Go Authors. All rights reserved. 2*88d15eacSSasha Smundak// Use of this source code is governed by a BSD-style 3*88d15eacSSasha Smundak// license that can be found in the LICENSE file. 4*88d15eacSSasha Smundak 5*88d15eacSSasha Smundakpackage testprotos 6*88d15eacSSasha Smundak 7*88d15eacSSasha Smundakfunc Equal(x, y Message) bool { 8*88d15eacSSasha Smundak if x == nil || y == nil { 9*88d15eacSSasha Smundak return x == nil && y == nil 10*88d15eacSSasha Smundak } 11*88d15eacSSasha Smundak return x.String() == y.String() 12*88d15eacSSasha Smundak} 13*88d15eacSSasha Smundak 14*88d15eacSSasha Smundaktype Message interface { 15*88d15eacSSasha Smundak Proto() 16*88d15eacSSasha Smundak String() string 17*88d15eacSSasha Smundak} 18*88d15eacSSasha Smundak 19*88d15eacSSasha Smundaktype proto interface { 20*88d15eacSSasha Smundak Proto() 21*88d15eacSSasha Smundak} 22*88d15eacSSasha Smundak 23*88d15eacSSasha Smundaktype notComparable struct { 24*88d15eacSSasha Smundak unexportedField func() 25*88d15eacSSasha Smundak} 26*88d15eacSSasha Smundak 27*88d15eacSSasha Smundaktype Stringer struct{ X string } 28*88d15eacSSasha Smundak 29*88d15eacSSasha Smundakfunc (s *Stringer) String() string { return s.X } 30*88d15eacSSasha Smundak 31*88d15eacSSasha Smundak// Project1 protocol buffers 32*88d15eacSSasha Smundaktype ( 33*88d15eacSSasha Smundak Eagle_States int 34*88d15eacSSasha Smundak Eagle_MissingCalls int 35*88d15eacSSasha Smundak Dreamer_States int 36*88d15eacSSasha Smundak Dreamer_MissingCalls int 37*88d15eacSSasha Smundak Slap_States int 38*88d15eacSSasha Smundak Goat_States int 39*88d15eacSSasha Smundak Donkey_States int 40*88d15eacSSasha Smundak SummerType int 41*88d15eacSSasha Smundak 42*88d15eacSSasha Smundak Eagle struct { 43*88d15eacSSasha Smundak proto 44*88d15eacSSasha Smundak notComparable 45*88d15eacSSasha Smundak Stringer 46*88d15eacSSasha Smundak } 47*88d15eacSSasha Smundak Dreamer struct { 48*88d15eacSSasha Smundak proto 49*88d15eacSSasha Smundak notComparable 50*88d15eacSSasha Smundak Stringer 51*88d15eacSSasha Smundak } 52*88d15eacSSasha Smundak Slap struct { 53*88d15eacSSasha Smundak proto 54*88d15eacSSasha Smundak notComparable 55*88d15eacSSasha Smundak Stringer 56*88d15eacSSasha Smundak } 57*88d15eacSSasha Smundak Goat struct { 58*88d15eacSSasha Smundak proto 59*88d15eacSSasha Smundak notComparable 60*88d15eacSSasha Smundak Stringer 61*88d15eacSSasha Smundak } 62*88d15eacSSasha Smundak Donkey struct { 63*88d15eacSSasha Smundak proto 64*88d15eacSSasha Smundak notComparable 65*88d15eacSSasha Smundak Stringer 66*88d15eacSSasha Smundak } 67*88d15eacSSasha Smundak) 68*88d15eacSSasha Smundak 69*88d15eacSSasha Smundak// Project2 protocol buffers 70*88d15eacSSasha Smundaktype ( 71*88d15eacSSasha Smundak Germ struct { 72*88d15eacSSasha Smundak proto 73*88d15eacSSasha Smundak notComparable 74*88d15eacSSasha Smundak Stringer 75*88d15eacSSasha Smundak } 76*88d15eacSSasha Smundak Dish struct { 77*88d15eacSSasha Smundak proto 78*88d15eacSSasha Smundak notComparable 79*88d15eacSSasha Smundak Stringer 80*88d15eacSSasha Smundak } 81*88d15eacSSasha Smundak) 82*88d15eacSSasha Smundak 83*88d15eacSSasha Smundak// Project3 protocol buffers 84*88d15eacSSasha Smundaktype ( 85*88d15eacSSasha Smundak Dirt struct { 86*88d15eacSSasha Smundak proto 87*88d15eacSSasha Smundak notComparable 88*88d15eacSSasha Smundak Stringer 89*88d15eacSSasha Smundak } 90*88d15eacSSasha Smundak Wizard struct { 91*88d15eacSSasha Smundak proto 92*88d15eacSSasha Smundak notComparable 93*88d15eacSSasha Smundak Stringer 94*88d15eacSSasha Smundak } 95*88d15eacSSasha Smundak Sadistic struct { 96*88d15eacSSasha Smundak proto 97*88d15eacSSasha Smundak notComparable 98*88d15eacSSasha Smundak Stringer 99*88d15eacSSasha Smundak } 100*88d15eacSSasha Smundak) 101*88d15eacSSasha Smundak 102*88d15eacSSasha Smundak// Project4 protocol buffers 103*88d15eacSSasha Smundaktype ( 104*88d15eacSSasha Smundak HoneyStatus int 105*88d15eacSSasha Smundak PoisonType int 106*88d15eacSSasha Smundak MetaData struct { 107*88d15eacSSasha Smundak proto 108*88d15eacSSasha Smundak notComparable 109*88d15eacSSasha Smundak Stringer 110*88d15eacSSasha Smundak } 111*88d15eacSSasha Smundak Restrictions struct { 112*88d15eacSSasha Smundak proto 113*88d15eacSSasha Smundak notComparable 114*88d15eacSSasha Smundak Stringer 115*88d15eacSSasha Smundak } 116*88d15eacSSasha Smundak) 117