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")) }
func (t *EncryptingStore_StoreTest) CallsWrapped() { // Crypter encryptedBlob := []byte{0xde, 0xad} ExpectCall(t.crypter, "Encrypt")(Any(), Any()). WillOnce(oglemock.Return(encryptedBlob, nil)) // Wrapped var req *blob.StoreRequest ExpectCall(t.wrapped, "Store")(Any(), Any()). WillOnce(oglemock.DoAll( oglemock.SaveArg(1, &req), oglemock.Return(blob.Score{}, errors.New("")))) // Call t.store.Store(t.ctx, &blob.StoreRequest{}) AssertNe(nil, req) ExpectThat(req.Blob, DeepEquals(encryptedBlob)) }