function satisfy (matcher, msg) {
    if (msg) flag(this, 'message', msg);
    var obj = flag(this, 'object');
    var result = matcher(obj);
    this.assert(
        result
      , 'expected #{this} to satisfy ' + _.objDisplay(matcher)
      , 'expected #{this} to not satisfy' + _.objDisplay(matcher)
      , this.negate ? false : true
      , result
    );
  }
### .satisfy(method)

Asserts that the target passes a given truth test.

    expect(1).to.satisfy(function(num) { return num > 0; });

@name satisfy
@alias satisfies
@param {Function} matcher
@param {String} message _optional_
@namespace BDD
@api public