// This file was generated by github.com/nelsam/hel.  Do not
// edit this code by hand unless you *really* know what you're
// doing.  Expect any changes made manually to be overwritten
// the next time hel regenerates this file.

package mocks_test

import (
	"go/ast"

	"github.com/nelsam/hel/v2/types"
)

type mockTypeFinder struct {
	ExportedTypesCalled chan bool
	ExportedTypesOutput struct {
		Types chan []*ast.TypeSpec
	}
	DependenciesCalled chan bool
	DependenciesInput  struct {
		Inter chan *ast.InterfaceType
	}
	DependenciesOutput struct {
		Dependencies chan []types.Dependency
	}
}

func newMockTypeFinder() *mockTypeFinder {
	m := &mockTypeFinder{}
	m.ExportedTypesCalled = make(chan bool, 100)
	m.ExportedTypesOutput.Types = make(chan []*ast.TypeSpec, 100)
	m.DependenciesCalled = make(chan bool, 100)
	m.DependenciesInput.Inter = make(chan *ast.InterfaceType, 100)
	m.DependenciesOutput.Dependencies = make(chan []types.Dependency, 100)
	return m
}
func (m *mockTypeFinder) ExportedTypes() (types []*ast.TypeSpec) {
	m.ExportedTypesCalled <- true
	return <-m.ExportedTypesOutput.Types
}
func (m *mockTypeFinder) Dependencies(inter *ast.InterfaceType) (dependencies []types.Dependency) {
	m.DependenciesCalled <- true
	m.DependenciesInput.Inter <- inter
	return <-m.DependenciesOutput.Dependencies
}
