func (t *DoAllTest) SingleAction() { f := func(a int) string { return "" } a0 := oglemock.Return("taco") action := oglemock.DoAll(a0) AssertEq(nil, action.SetSignature(reflect.TypeOf(f))) rets := action.Invoke([]interface{}{17}) ExpectThat(rets, ElementsAre("taco")) }
func (t *DoAllTest) LastActionDoesntLikeSignature() { f := func(a int, b string) {} a0 := oglemock.Invoke(f) a1 := oglemock.Invoke(f) a2 := oglemock.Return(17) err := oglemock.DoAll(a0, a1, a2).SetSignature(reflect.TypeOf(f)) ExpectThat(err, Error(HasSubstr("Action 2"))) ExpectThat(err, Error(HasSubstr("1 vals; expected 0"))) }
func (t *DoAllTest) MultipleActions() { f := func(a int) string { return "" } var saved int a0 := oglemock.SaveArg(0, &saved) a1 := oglemock.Return("taco") action := oglemock.DoAll(a0, a1) AssertEq(nil, action.SetSignature(reflect.TypeOf(f))) rets := action.Invoke([]interface{}{17}) ExpectEq(17, saved) ExpectThat(rets, ElementsAre("taco")) }