code: function assert(that, success, actualValue, expectedValue, type, functionName/*="ok"*/, lineInfo/*=dynamic*/, stackIncrease/*=0*/) {
          if(!stackIncrease) stackIncrease = 1
          if(!functionName) functionName = "ok"
          if(!lineInfo)
              var lineInfoFuture = getLineInformation(functionName, stackIncrease, that.doSourcemappery, that.warningHandler)
          else
              var lineInfoFuture = Future(lineInfo)
  
          // reste timeouts up the chain
          var cur = that
          while(cur !== undefined) {
              setTesterTimeout(cur)
              cur = cur.parentTester
          }
  
          var emitData = lineInfoFuture.then(function(lineInfo) {
              var result = lineInfo
              result.type = 'assert'
              if(type !=='count') result.success = success === true
  
              if(actualValue !== undefined)     result.actual = actualValue
              if(expectedValue !== undefined)   result.expected = expectedValue
  
              result.parent = that.id
              result.time = now()
  
             return Future(result)
          })
  
          return that.manager.emit(type, emitData)
      }
docs: type - either "count" or "assert"