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 }