github.com/MetalBlockchain/subnet-evm@v0.4.9/ethclient/client_interface_test.go (about)

     1  package ethclient
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  )
     7  
     8  func TestInterfaceStructOneToOne(t *testing.T) {
     9  	// checks struct provides at least the methods signatures in the interface
    10  	var _ Client = (*client)(nil)
    11  	// checks interface and struct have the same number of methods
    12  	clientType := reflect.TypeOf(&client{})
    13  	ClientType := reflect.TypeOf((*Client)(nil)).Elem()
    14  	if clientType.NumMethod() != ClientType.NumMethod() {
    15  		t.Fatalf("no 1 to 1 compliance between struct methods (%v) and interface methods (%v)", clientType.NumMethod(), ClientType.NumMethod())
    16  	}
    17  }