// Code generated by moq; DO NOT EDIT.
// github.com/matryer/moq

package mock

import (
	"github.com/axelarnetwork/axelar-core/app"
	ibcexported "github.com/cosmos/ibc-go/v4/modules/core/exported"
	"sync"
)

// Ensure, that PacketIMock does implement app.PacketI.
// If this is not the case, regenerate this file with moq.
var _ app.PacketI = &PacketIMock{}

// PacketIMock is a mock implementation of app.PacketI.
//
//	func TestSomethingThatUsesPacketI(t *testing.T) {
//
//		// make and configure a mocked app.PacketI
//		mockedPacketI := &PacketIMock{
//			GetDataFunc: func() []byte {
//				panic("mock out the GetData method")
//			},
//			GetDestChannelFunc: func() string {
//				panic("mock out the GetDestChannel method")
//			},
//			GetDestPortFunc: func() string {
//				panic("mock out the GetDestPort method")
//			},
//			GetSequenceFunc: func() uint64 {
//				panic("mock out the GetSequence method")
//			},
//			GetSourceChannelFunc: func() string {
//				panic("mock out the GetSourceChannel method")
//			},
//			GetSourcePortFunc: func() string {
//				panic("mock out the GetSourcePort method")
//			},
//			GetTimeoutHeightFunc: func() ibcexported.Height {
//				panic("mock out the GetTimeoutHeight method")
//			},
//			GetTimeoutTimestampFunc: func() uint64 {
//				panic("mock out the GetTimeoutTimestamp method")
//			},
//			ValidateBasicFunc: func() error {
//				panic("mock out the ValidateBasic method")
//			},
//		}
//
//		// use mockedPacketI in code that requires app.PacketI
//		// and then make assertions.
//
//	}
type PacketIMock struct {
	// GetDataFunc mocks the GetData method.
	GetDataFunc func() []byte

	// GetDestChannelFunc mocks the GetDestChannel method.
	GetDestChannelFunc func() string

	// GetDestPortFunc mocks the GetDestPort method.
	GetDestPortFunc func() string

	// GetSequenceFunc mocks the GetSequence method.
	GetSequenceFunc func() uint64

	// GetSourceChannelFunc mocks the GetSourceChannel method.
	GetSourceChannelFunc func() string

	// GetSourcePortFunc mocks the GetSourcePort method.
	GetSourcePortFunc func() string

	// GetTimeoutHeightFunc mocks the GetTimeoutHeight method.
	GetTimeoutHeightFunc func() ibcexported.Height

	// GetTimeoutTimestampFunc mocks the GetTimeoutTimestamp method.
	GetTimeoutTimestampFunc func() uint64

	// ValidateBasicFunc mocks the ValidateBasic method.
	ValidateBasicFunc func() error

	// calls tracks calls to the methods.
	calls struct {
		// GetData holds details about calls to the GetData method.
		GetData []struct {
		}
		// GetDestChannel holds details about calls to the GetDestChannel method.
		GetDestChannel []struct {
		}
		// GetDestPort holds details about calls to the GetDestPort method.
		GetDestPort []struct {
		}
		// GetSequence holds details about calls to the GetSequence method.
		GetSequence []struct {
		}
		// GetSourceChannel holds details about calls to the GetSourceChannel method.
		GetSourceChannel []struct {
		}
		// GetSourcePort holds details about calls to the GetSourcePort method.
		GetSourcePort []struct {
		}
		// GetTimeoutHeight holds details about calls to the GetTimeoutHeight method.
		GetTimeoutHeight []struct {
		}
		// GetTimeoutTimestamp holds details about calls to the GetTimeoutTimestamp method.
		GetTimeoutTimestamp []struct {
		}
		// ValidateBasic holds details about calls to the ValidateBasic method.
		ValidateBasic []struct {
		}
	}
	lockGetData             sync.RWMutex
	lockGetDestChannel      sync.RWMutex
	lockGetDestPort         sync.RWMutex
	lockGetSequence         sync.RWMutex
	lockGetSourceChannel    sync.RWMutex
	lockGetSourcePort       sync.RWMutex
	lockGetTimeoutHeight    sync.RWMutex
	lockGetTimeoutTimestamp sync.RWMutex
	lockValidateBasic       sync.RWMutex
}

// GetData calls GetDataFunc.
func (mock *PacketIMock) GetData() []byte {
	if mock.GetDataFunc == nil {
		panic("PacketIMock.GetDataFunc: method is nil but PacketI.GetData was just called")
	}
	callInfo := struct {
	}{}
	mock.lockGetData.Lock()
	mock.calls.GetData = append(mock.calls.GetData, callInfo)
	mock.lockGetData.Unlock()
	return mock.GetDataFunc()
}

// GetDataCalls gets all the calls that were made to GetData.
// Check the length with:
//
//	len(mockedPacketI.GetDataCalls())
func (mock *PacketIMock) GetDataCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockGetData.RLock()
	calls = mock.calls.GetData
	mock.lockGetData.RUnlock()
	return calls
}

// GetDestChannel calls GetDestChannelFunc.
func (mock *PacketIMock) GetDestChannel() string {
	if mock.GetDestChannelFunc == nil {
		panic("PacketIMock.GetDestChannelFunc: method is nil but PacketI.GetDestChannel was just called")
	}
	callInfo := struct {
	}{}
	mock.lockGetDestChannel.Lock()
	mock.calls.GetDestChannel = append(mock.calls.GetDestChannel, callInfo)
	mock.lockGetDestChannel.Unlock()
	return mock.GetDestChannelFunc()
}

// GetDestChannelCalls gets all the calls that were made to GetDestChannel.
// Check the length with:
//
//	len(mockedPacketI.GetDestChannelCalls())
func (mock *PacketIMock) GetDestChannelCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockGetDestChannel.RLock()
	calls = mock.calls.GetDestChannel
	mock.lockGetDestChannel.RUnlock()
	return calls
}

// GetDestPort calls GetDestPortFunc.
func (mock *PacketIMock) GetDestPort() string {
	if mock.GetDestPortFunc == nil {
		panic("PacketIMock.GetDestPortFunc: method is nil but PacketI.GetDestPort was just called")
	}
	callInfo := struct {
	}{}
	mock.lockGetDestPort.Lock()
	mock.calls.GetDestPort = append(mock.calls.GetDestPort, callInfo)
	mock.lockGetDestPort.Unlock()
	return mock.GetDestPortFunc()
}

// GetDestPortCalls gets all the calls that were made to GetDestPort.
// Check the length with:
//
//	len(mockedPacketI.GetDestPortCalls())
func (mock *PacketIMock) GetDestPortCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockGetDestPort.RLock()
	calls = mock.calls.GetDestPort
	mock.lockGetDestPort.RUnlock()
	return calls
}

// GetSequence calls GetSequenceFunc.
func (mock *PacketIMock) GetSequence() uint64 {
	if mock.GetSequenceFunc == nil {
		panic("PacketIMock.GetSequenceFunc: method is nil but PacketI.GetSequence was just called")
	}
	callInfo := struct {
	}{}
	mock.lockGetSequence.Lock()
	mock.calls.GetSequence = append(mock.calls.GetSequence, callInfo)
	mock.lockGetSequence.Unlock()
	return mock.GetSequenceFunc()
}

// GetSequenceCalls gets all the calls that were made to GetSequence.
// Check the length with:
//
//	len(mockedPacketI.GetSequenceCalls())
func (mock *PacketIMock) GetSequenceCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockGetSequence.RLock()
	calls = mock.calls.GetSequence
	mock.lockGetSequence.RUnlock()
	return calls
}

// GetSourceChannel calls GetSourceChannelFunc.
func (mock *PacketIMock) GetSourceChannel() string {
	if mock.GetSourceChannelFunc == nil {
		panic("PacketIMock.GetSourceChannelFunc: method is nil but PacketI.GetSourceChannel was just called")
	}
	callInfo := struct {
	}{}
	mock.lockGetSourceChannel.Lock()
	mock.calls.GetSourceChannel = append(mock.calls.GetSourceChannel, callInfo)
	mock.lockGetSourceChannel.Unlock()
	return mock.GetSourceChannelFunc()
}

// GetSourceChannelCalls gets all the calls that were made to GetSourceChannel.
// Check the length with:
//
//	len(mockedPacketI.GetSourceChannelCalls())
func (mock *PacketIMock) GetSourceChannelCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockGetSourceChannel.RLock()
	calls = mock.calls.GetSourceChannel
	mock.lockGetSourceChannel.RUnlock()
	return calls
}

// GetSourcePort calls GetSourcePortFunc.
func (mock *PacketIMock) GetSourcePort() string {
	if mock.GetSourcePortFunc == nil {
		panic("PacketIMock.GetSourcePortFunc: method is nil but PacketI.GetSourcePort was just called")
	}
	callInfo := struct {
	}{}
	mock.lockGetSourcePort.Lock()
	mock.calls.GetSourcePort = append(mock.calls.GetSourcePort, callInfo)
	mock.lockGetSourcePort.Unlock()
	return mock.GetSourcePortFunc()
}

// GetSourcePortCalls gets all the calls that were made to GetSourcePort.
// Check the length with:
//
//	len(mockedPacketI.GetSourcePortCalls())
func (mock *PacketIMock) GetSourcePortCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockGetSourcePort.RLock()
	calls = mock.calls.GetSourcePort
	mock.lockGetSourcePort.RUnlock()
	return calls
}

// GetTimeoutHeight calls GetTimeoutHeightFunc.
func (mock *PacketIMock) GetTimeoutHeight() ibcexported.Height {
	if mock.GetTimeoutHeightFunc == nil {
		panic("PacketIMock.GetTimeoutHeightFunc: method is nil but PacketI.GetTimeoutHeight was just called")
	}
	callInfo := struct {
	}{}
	mock.lockGetTimeoutHeight.Lock()
	mock.calls.GetTimeoutHeight = append(mock.calls.GetTimeoutHeight, callInfo)
	mock.lockGetTimeoutHeight.Unlock()
	return mock.GetTimeoutHeightFunc()
}

// GetTimeoutHeightCalls gets all the calls that were made to GetTimeoutHeight.
// Check the length with:
//
//	len(mockedPacketI.GetTimeoutHeightCalls())
func (mock *PacketIMock) GetTimeoutHeightCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockGetTimeoutHeight.RLock()
	calls = mock.calls.GetTimeoutHeight
	mock.lockGetTimeoutHeight.RUnlock()
	return calls
}

// GetTimeoutTimestamp calls GetTimeoutTimestampFunc.
func (mock *PacketIMock) GetTimeoutTimestamp() uint64 {
	if mock.GetTimeoutTimestampFunc == nil {
		panic("PacketIMock.GetTimeoutTimestampFunc: method is nil but PacketI.GetTimeoutTimestamp was just called")
	}
	callInfo := struct {
	}{}
	mock.lockGetTimeoutTimestamp.Lock()
	mock.calls.GetTimeoutTimestamp = append(mock.calls.GetTimeoutTimestamp, callInfo)
	mock.lockGetTimeoutTimestamp.Unlock()
	return mock.GetTimeoutTimestampFunc()
}

// GetTimeoutTimestampCalls gets all the calls that were made to GetTimeoutTimestamp.
// Check the length with:
//
//	len(mockedPacketI.GetTimeoutTimestampCalls())
func (mock *PacketIMock) GetTimeoutTimestampCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockGetTimeoutTimestamp.RLock()
	calls = mock.calls.GetTimeoutTimestamp
	mock.lockGetTimeoutTimestamp.RUnlock()
	return calls
}

// ValidateBasic calls ValidateBasicFunc.
func (mock *PacketIMock) ValidateBasic() error {
	if mock.ValidateBasicFunc == nil {
		panic("PacketIMock.ValidateBasicFunc: method is nil but PacketI.ValidateBasic was just called")
	}
	callInfo := struct {
	}{}
	mock.lockValidateBasic.Lock()
	mock.calls.ValidateBasic = append(mock.calls.ValidateBasic, callInfo)
	mock.lockValidateBasic.Unlock()
	return mock.ValidateBasicFunc()
}

// ValidateBasicCalls gets all the calls that were made to ValidateBasic.
// Check the length with:
//
//	len(mockedPacketI.ValidateBasicCalls())
func (mock *PacketIMock) ValidateBasicCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockValidateBasic.RLock()
	calls = mock.calls.ValidateBasic
	mock.lockValidateBasic.RUnlock()
	return calls
}
