code: function FakeDate(a, b, c, d, e, f, g) {
      var argsArray = [].splice.call(arguments, 0);
      var date =
        argsArray.length === 0
          ? new OriginalDate(Date.now())
          : makeOriginalDateFromArgs.apply(undefined, argsArray);
  
      if (!(this instanceof FakeDate)) {
        return date.toString();
      }
  
      this._date = date;
    }
docs: needs to have 7 arguments to be compliant to length of Date constructor