func (f_sym5 *FakeChanneler) SetChannelInvocation(calls_sym5 []*ChannelerChannelInvocation, fallback_sym5 func() chan int) {
	f_sym5.ChannelHook = func(ident1 chan int) (ident2 chan int) {
		for _, call_sym5 := range calls_sym5 {
			if reflect.DeepEqual(call_sym5.Parameters.Ident1, ident1) {
				ident2 = call_sym5.Results.Ident2
				return
			}
		}
		return fallback_sym5()
	}
}
SetChannelInvocation configures Channeler.Channel to return the given results when called with the given parameters
If no match is found for an invocation the result(s) of the fallback function are returned
package main
import "reflect"
type ChannelerChannelInvocation struct {
	Parameters struct {
		Ident1 chan int
	}
	Results struct {
		Ident2 chan int
	}
}
func NewChannelerChannelInvocation(ident1 chan int, ident2 chan int) *ChannelerChannelInvocation {
	invocation := new(ChannelerChannelInvocation)
	invocation.Parameters.Ident1 = ident1
	invocation.Results.Ident2 = ident2
	return invocation
}
type ChannelerChannelReceiveInvocation struct {
	Parameters struct {
		Ident1 <-chan int
	}
	Results struct {
		Ident2 <-chan int
	}
}
func NewChannelerChannelReceiveInvocation(ident1 <-chan int, ident2 <-chan int) *ChannelerChannelReceiveInvocation {
	invocation := new(ChannelerChannelReceiveInvocation)
	invocation.Parameters.Ident1 = ident1
	invocation.Results.Ident2 = ident2
	return invocation
}
type ChannelerChannelSendInvocation struct {
	Parameters struct {
		Ident1 chan<- int
	}
	Results struct {
		Ident2 chan<- int
	}
}
func NewChannelerChannelSendInvocation(ident1 chan<- int, ident2 chan<- int) *ChannelerChannelSendInvocation {
	invocation := new(ChannelerChannelSendInvocation)
	invocation.Parameters.Ident1 = ident1
	invocation.Results.Ident2 = ident2
	return invocation
}
type ChannelerChannelPointerInvocation struct {
	Parameters struct {
		Ident1 *chan int
	}
	Results struct {
		Ident2 *chan int
	}
}
func NewChannelerChannelPointerInvocation(ident1 *chan int, ident2 *chan int) *ChannelerChannelPointerInvocation {
	invocation := new(ChannelerChannelPointerInvocation)
	invocation.Parameters.Ident1 = ident1
	invocation.Results.Ident2 = ident2
	return invocation
}
type ChannelerChannelInterfaceInvocation struct {
	Parameters struct {
		Ident1 chan interface{}
	}
	Results struct {
		Ident2 chan interface{}
	}
}
func NewChannelerChannelInterfaceInvocation(ident1 chan interface{}, ident2 chan interface{}) *ChannelerChannelInterfaceInvocation {
	invocation := new(ChannelerChannelInterfaceInvocation)
	invocation.Parameters.Ident1 = ident1
	invocation.Results.Ident2 = ident2
	return invocation
}
type ChannelerTestingT interface {
	Error(...interface{})
	Errorf(string, ...interface{})
	Fatal(...interface{})
	Helper()
}
type FakeChanneler struct {
	ChannelHook          func(chan int) chan int
	ChannelReceiveHook   func(<-chan int) <-chan int
	ChannelSendHook      func(chan<- int) chan<- int
	ChannelPointerHook   func(*chan int) *chan int
	ChannelInterfaceHook func(chan interface{}) chan interface{}
	ChannelCalls          []*ChannelerChannelInvocation
	ChannelReceiveCalls   []*ChannelerChannelReceiveInvocation
	ChannelSendCalls      []*ChannelerChannelSendInvocation
	ChannelPointerCalls   []*ChannelerChannelPointerInvocation
	ChannelInterfaceCalls []*ChannelerChannelInterfaceInvocation
}
func NewFakeChannelerDefaultPanic() *FakeChanneler {
	return &FakeChanneler{
		ChannelHook: func(chan int) (ident2 chan int) {
			panic("Unexpected call to Channeler.Channel")
		},
		ChannelReceiveHook: func(<-chan int) (ident2 <-chan int) {
			panic("Unexpected call to Channeler.ChannelReceive")
		},
		ChannelSendHook: func(chan<- int) (ident2 chan<- int) {
			panic("Unexpected call to Channeler.ChannelSend")
		},
		ChannelPointerHook: func(*chan int) (ident2 *chan int) {
			panic("Unexpected call to Channeler.ChannelPointer")
		},
		ChannelInterfaceHook: func(chan interface{}) (ident2 chan interface{}) {
			panic("Unexpected call to Channeler.ChannelInterface")
		},
	}
}
func NewFakeChannelerDefaultFatal(t_sym1 ChannelerTestingT) *FakeChanneler {
	return &FakeChanneler{
		ChannelHook: func(chan int) (ident2 chan int) {
			t_sym1.Fatal("Unexpected call to Channeler.Channel")
			return
		},
		ChannelReceiveHook: func(<-chan int) (ident2 <-chan int) {
			t_sym1.Fatal("Unexpected call to Channeler.ChannelReceive")
			return
		},
		ChannelSendHook: func(chan<- int) (ident2 chan<- int) {
			t_sym1.Fatal("Unexpected call to Channeler.ChannelSend")
			return
		},
		ChannelPointerHook: func(*chan int) (ident2 *chan int) {
			t_sym1.Fatal("Unexpected call to Channeler.ChannelPointer")
			return
		},
		ChannelInterfaceHook: func(chan interface{}) (ident2 chan interface{}) {
			t_sym1.Fatal("Unexpected call to Channeler.ChannelInterface")
			return
		},
	}
}
func NewFakeChannelerDefaultError(t_sym2 ChannelerTestingT) *FakeChanneler {
	return &FakeChanneler{
		ChannelHook: func(chan int) (ident2 chan int) {
			t_sym2.Error("Unexpected call to Channeler.Channel")
			return
		},
		ChannelReceiveHook: func(<-chan int) (ident2 <-chan int) {
			t_sym2.Error("Unexpected call to Channeler.ChannelReceive")
			return
		},
		ChannelSendHook: func(chan<- int) (ident2 chan<- int) {
			t_sym2.Error("Unexpected call to Channeler.ChannelSend")
			return
		},
		ChannelPointerHook: func(*chan int) (ident2 *chan int) {
			t_sym2.Error("Unexpected call to Channeler.ChannelPointer")
			return
		},
		ChannelInterfaceHook: func(chan interface{}) (ident2 chan interface{}) {
			t_sym2.Error("Unexpected call to Channeler.ChannelInterface")
			return
		},
	}
}
func (f *FakeChanneler) Reset() {
	f.ChannelCalls = []*ChannelerChannelInvocation{}
	f.ChannelReceiveCalls = []*ChannelerChannelReceiveInvocation{}
	f.ChannelSendCalls = []*ChannelerChannelSendInvocation{}
	f.ChannelPointerCalls = []*ChannelerChannelPointerInvocation{}
	f.ChannelInterfaceCalls = []*ChannelerChannelInterfaceInvocation{}
}
func (f_sym3 *FakeChanneler) Channel(ident1 chan int) (ident2 chan int) {
	if f_sym3.ChannelHook == nil {
		panic("Channeler.Channel() called but FakeChanneler.ChannelHook is nil")
	}
	invocation_sym3 := new(ChannelerChannelInvocation)
	f_sym3.ChannelCalls = append(f_sym3.ChannelCalls, invocation_sym3)
	invocation_sym3.Parameters.Ident1 = ident1
	ident2 = f_sym3.ChannelHook(ident1)
	invocation_sym3.Results.Ident2 = ident2
	return
}
func (f_sym4 *FakeChanneler) SetChannelStub(ident2 chan int) {
	f_sym4.ChannelHook = func(chan int) chan int {
		return ident2
	}
}