function closeTo(expected, delta, msg) {
    if (msg) flag(this, 'message', msg);
    var obj = flag(this, 'object');

    new Assertion(obj, msg).is.a('number');
    if (_.type(expected) !== 'number' || _.type(delta) !== 'number') {
      throw new Error('the arguments to closeTo or approximately must be numbers');
    }

    this.assert(
        Math.abs(obj - expected) <= delta
      , 'expected #{this} to be close to ' + expected + ' +/- ' + delta
      , 'expected #{this} not to be close to ' + expected + ' +/- ' + delta
    );
  }
### .closeTo(expected, delta)

Asserts that the target is equal `expected`, to within a +/- `delta` range.

    expect(1.5).to.be.closeTo(1, 0.5);

@name closeTo
@alias approximately
@param {Number} expected
@param {Number} delta
@param {String} message _optional_
@namespace BDD
@api public