code: function Result(params) {
      /**
       * @desc
       * Indicates number of successful cases
       * 
       * @type {number}
       */
      this.success = 0;
      /**
       * @desc
       * Indicates number of failed cases
       * 
       * @type {number}
       */
      this.fail = 0;
      /**
       * @desc
       * Indicates number of skipped cases
       * 
       * @type {number}
       */
      this.skip = 0;
      /**
       * @desc
       * Indicates number of total cases
       * 
       * @type {number}
       */
      this.total = 0;
      /**
       * @desc
       * This property holds all tests written in salep scope.
       * Nested tests written inside tests will be nested. Just salep.test's
       * are listed here. 
       * 
       * @type {Test[]}
       */
      this.tests = null;
      /**
       * @desc
       * This property holds all test cases written in salep scope. Cases
       * inside tests is not listed inside this property. Just salep.case's
       * are listed here.
       * 
       * @type {Case[]}
       */
      this.cases = null;
  
      if (params) for (var param in params) {
        if (this.hasOwnProperty(param)) {
          this[param] = params[param];
        }
      }
    }
docs: @class
  
  @desc
  This class represents results of salep tests. It helps you
  see summary of tests with fail, success, skip and total counts.
  Result also has all tests and their case objects, so if it is
  needed you can iterate on them and see which test have which
  cases, which case failed and why, etc.