func (s *ValueWorkerSuite) TestValueWorkerOutput_BadOutputType(c *gc.C) { value := &testType{} w, err := engine.NewValueWorker(value) c.Assert(err, jc.ErrorIsNil) var outVal string err = engine.ValueWorkerOutput(w, &outVal) c.Check(err, gc.ErrorMatches, "cannot output into \\*string") c.Check(outVal, gc.Equals, "") }
func (s *ValueWorkerSuite) TestValueWorkerOutput_BadOutputIndirection(c *gc.C) { value := &testType{} w, err := engine.NewValueWorker(value) c.Assert(err, jc.ErrorIsNil) var outVal string err = engine.ValueWorkerOutput(w, outVal) c.Check(err, gc.ErrorMatches, "out should be a pointer; is .*") c.Check(outVal, gc.Equals, "") }
func (s *ValueWorkerSuite) TestValueWorkerOutput_Success(c *gc.C) { value := &testType{} w, err := engine.NewValueWorker(value) c.Assert(err, jc.ErrorIsNil) var outVal testInterface err = engine.ValueWorkerOutput(w, &outVal) c.Check(err, jc.ErrorIsNil) c.Check(outVal, gc.DeepEquals, value) }
func (s *ValueWorkerSuite) TestValueWorkerOutput_BadInput(c *gc.C) { var outVal testInterface err := engine.ValueWorkerOutput(&testType{}, &outVal) c.Check(err, gc.ErrorMatches, "in should be a \\*valueWorker; is .*") c.Check(outVal, gc.IsNil) }