// Code generated by MockGen. DO NOT EDIT.
// Source: input.go
//
// Generated by this command:
//
//	mockgen -package typed_inorder -source=input.go -destination=mock.go -typed
//

// Package typed_inorder is a generated GoMock package.
package typed_inorder

import (
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockAnimal is a mock of Animal interface.
type MockAnimal struct {
	ctrl     *gomock.Controller
	recorder *MockAnimalMockRecorder
}

// MockAnimalMockRecorder is the mock recorder for MockAnimal.
type MockAnimalMockRecorder struct {
	mock *MockAnimal
}

// NewMockAnimal creates a new mock instance.
func NewMockAnimal(ctrl *gomock.Controller) *MockAnimal {
	mock := &MockAnimal{ctrl: ctrl}
	mock.recorder = &MockAnimalMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockAnimal) EXPECT() *MockAnimalMockRecorder {
	return m.recorder
}

// Feed mocks base method.
func (m *MockAnimal) Feed(arg0 string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Feed", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

// Feed indicates an expected call of Feed.
func (mr *MockAnimalMockRecorder) Feed(arg0 any) *MockAnimalFeedCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Feed", reflect.TypeOf((*MockAnimal)(nil).Feed), arg0)
	return &MockAnimalFeedCall{Call: call}
}

// MockAnimalFeedCall wrap *gomock.Call
type MockAnimalFeedCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockAnimalFeedCall) Return(arg0 error) *MockAnimalFeedCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockAnimalFeedCall) Do(f func(string) error) *MockAnimalFeedCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockAnimalFeedCall) DoAndReturn(f func(string) error) *MockAnimalFeedCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// GetSound mocks base method.
func (m *MockAnimal) GetSound() string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSound")
	ret0, _ := ret[0].(string)
	return ret0
}

// GetSound indicates an expected call of GetSound.
func (mr *MockAnimalMockRecorder) GetSound() *MockAnimalGetSoundCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSound", reflect.TypeOf((*MockAnimal)(nil).GetSound))
	return &MockAnimalGetSoundCall{Call: call}
}

// MockAnimalGetSoundCall wrap *gomock.Call
type MockAnimalGetSoundCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockAnimalGetSoundCall) Return(arg0 string) *MockAnimalGetSoundCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockAnimalGetSoundCall) Do(f func() string) *MockAnimalGetSoundCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockAnimalGetSoundCall) DoAndReturn(f func() string) *MockAnimalGetSoundCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
