 
   this
 
+Assertion.addProperty.call Expectation, "hold", ->
+  @__flags.hold = true
+
+  this
+
 assertions("Assertion": Expectation, utils)

      this

  resolveFlags: ->
    flags = _.keys(@__flags || {})
    promises = _.map flags, (flag) =>
      Q(@__flags[flag]).then (value) =>


Expectation.addMethod "reject", (args...) ->
  fn = @flag("object")
  p = if _.isFunction(fn) then fn() else fn

  promise = p
    .then(-> ->)
    .catch((err) -> -> throw err)
    .then (resolvedFn) => @flag("object", resolvedFn).throw(args...)
