func (t *ReturnTest) NoReturnValues() { sig := reflect.TypeOf(func() {}) var a oglemock.Action var err error var vals []interface{} // No values. a = oglemock.Return() err = a.SetSignature(sig) AssertEq(nil, err) vals = a.Invoke([]interface{}{}) ExpectThat(vals, ElementsAre()) // One value. a = oglemock.Return(17) err = a.SetSignature(sig) ExpectThat(err, Error(HasSubstr("given 1 val"))) ExpectThat(err, Error(HasSubstr("expected 0"))) // Two values. a = oglemock.Return(17, 19) err = a.SetSignature(sig) ExpectThat(err, Error(HasSubstr("given 2 vals"))) ExpectThat(err, Error(HasSubstr("expected 0"))) }
func (t *ReturnTest) MultipleReturnValues() { sig := reflect.TypeOf(func() (int, string) { return 0, "" }) var a oglemock.Action var err error var vals []interface{} // No values. a = oglemock.Return() err = a.SetSignature(sig) ExpectThat(err, Error(HasSubstr("given 0 vals"))) ExpectThat(err, Error(HasSubstr("expected 2"))) // One value. a = oglemock.Return(17) err = a.SetSignature(sig) ExpectThat(err, Error(HasSubstr("given 1 val"))) ExpectThat(err, Error(HasSubstr("expected 2"))) // Two values. a = oglemock.Return(17, "taco") err = a.SetSignature(sig) AssertEq(nil, err) vals = a.Invoke([]interface{}{}) ExpectThat(vals, ElementsAre(IdenticalTo(int(17)), "taco")) }