Cases takes either a mock struct (i.e. a struct of only channel fields)
or a channel and returns a []reflect.SelectCase that may be used in
reflect.Select calls. If dir is reflect.SelectSend, then send must contain
exactly one value for each channel in mock.