github.com/Finschia/finschia-sdk@v0.48.1/testutil/testdata/animal.go (about)

     1  package testdata
     2  
     3  // DONTCOVER
     4  // nolint
     5  
     6  import (
     7  	"fmt"
     8  
     9  	"github.com/gogo/protobuf/proto"
    10  
    11  	"github.com/Finschia/finschia-sdk/codec/types"
    12  )
    13  
    14  type Animal interface {
    15  	proto.Message
    16  
    17  	Greet() string
    18  }
    19  
    20  func (c Cat) Greet() string {
    21  	return fmt.Sprintf("Meow, my name is %s", c.Moniker)
    22  }
    23  
    24  func (d Dog) Greet() string {
    25  	return fmt.Sprintf("Roof, my name is %s", d.Name)
    26  }
    27  
    28  var _ types.UnpackInterfacesMessage = HasAnimal{}
    29  
    30  func (m HasAnimal) UnpackInterfaces(unpacker types.AnyUnpacker) error {
    31  	var animal Animal
    32  	return unpacker.UnpackAny(m.Animal, &animal)
    33  }
    34  
    35  type HasAnimalI interface {
    36  	TheAnimal() Animal
    37  }
    38  
    39  var _ HasAnimalI = &HasAnimal{}
    40  
    41  func (m HasAnimal) TheAnimal() Animal {
    42  	return m.Animal.GetCachedValue().(Animal)
    43  }
    44  
    45  type HasHasAnimalI interface {
    46  	TheHasAnimal() HasAnimalI
    47  }
    48  
    49  var _ HasHasAnimalI = &HasHasAnimal{}
    50  
    51  func (m HasHasAnimal) TheHasAnimal() HasAnimalI {
    52  	return m.HasAnimal.GetCachedValue().(HasAnimalI)
    53  }
    54  
    55  var _ types.UnpackInterfacesMessage = HasHasAnimal{}
    56  
    57  func (m HasHasAnimal) UnpackInterfaces(unpacker types.AnyUnpacker) error {
    58  	var animal HasAnimalI
    59  	return unpacker.UnpackAny(m.HasAnimal, &animal)
    60  }
    61  
    62  type HasHasHasAnimalI interface {
    63  	TheHasHasAnimal() HasHasAnimalI
    64  }
    65  
    66  var _ HasHasAnimalI = &HasHasAnimal{}
    67  
    68  func (m HasHasHasAnimal) TheHasHasAnimal() HasHasAnimalI {
    69  	return m.HasHasAnimal.GetCachedValue().(HasHasAnimalI)
    70  }
    71  
    72  var _ types.UnpackInterfacesMessage = HasHasHasAnimal{}
    73  
    74  func (m HasHasHasAnimal) UnpackInterfaces(unpacker types.AnyUnpacker) error {
    75  	var animal HasHasAnimalI
    76  	return unpacker.UnpackAny(m.HasHasAnimal, &animal)
    77  }