function TestCaseResult(options) {
    "use strict";
    this.name = options && options.name;
    this.file = options && options.file;
    this.planned = ~~(options && options.planned) || undefined;
    this.errors = [];
    this.failures = [];
    this.passes = [];
    this.skips = [];
    this.warnings = [];
    this.config = options && options.config;
    this.__defineGetter__("assertions", function() {
        return this.passed + this.failed;
    });
    this.__defineGetter__("crashed", function() {
        return this.errors.length;
    });
    this.__defineGetter__("failed", function() {
        return this.failures.length;
    });
    this.__defineGetter__("dubious", function() {
        return this.failures.filter(function(failure) {
            return failure.type === "dubious";
        }).length;
    });
    this.__defineGetter__("passed", function() {
        return this.passes.length;
    });
    this.__defineGetter__("skipped", function() {
        return this.skips.map(function(skip) {
            return skip.number;
        }).reduce(function(a, b) {
            return a + b;
        }, 0);
    });
}
Test suite results object.

@param Object  options