/// <reference path="nodeunit.d.ts" /> import nodeunit = require('nodeunit'); var num: number; var value: any; var actual: any; var expected: any; var message: string; var operator: string; var error: any; var block: () =>{ }; export var testGroup: nodeunit.ITestGroup = { setUp: (callback) => { callback(); }, tearDown: (callback) => { callback(); }, test1: function (test: nodeunit.Test) { test.expect(num); test.fail(actual, expected, message, operator); test.assert(value, message); test.ok(value); test.ok(value, message); test.equal(actual, expected); test.equal(actual, expected, message); test.notEqual(actual, expected); test.notEqual(actual, expected, message); test.deepEqual(actual, expected); test.deepEqual(actual, expected, message); test.notDeepEqual(actual, expected); test.notDeepEqual(actual, expected, message); test.strictEqual(actual, expected); test.strictEqual(actual, expected, message); test.notStrictEqual(actual, expected); test.notStrictEqual(actual, expected, message); test.throws(block); test.throws(block, error); test.throws(block, error, message); test.doesNotThrow(block); test.doesNotThrow(block, error); test.doesNotThrow(block, error, message); test.ifError(value); //assertion wrappers test.equals(actual, expected); test.equals(actual, expected, message); test.same(actual, expected); test.same(actual, expected, message); test.done(error); test.done(); }, "This is a test with a nice description": (test: nodeunit.Test) => { test.done(); } }; // see https://github.com/caolan/nodeunit/blob/master/examples/nested/nested_reporter_test.unit.js for example. // (https://github.com/caolan/nodeunit/commit/9fee91149324f79753eadbcf8993399a7d76da40) var testCase = nodeunit.testCase; export var testCaseGroup = testCase({ "Test 0.1": function(test: nodeunit.Test) { test.ok(true); test.done(); }, "TC 1": testCase({ "TC 1.1": testCase({ "Test 1.1.1": function(test: nodeunit.Test) { test.ok(true); test.done(); } }) }), "TC 2": testCase({ "TC 2.1": testCase({ "TC 2.1.1": testCase({ "Test 2.1.1.1": function(test: nodeunit.Test) { test.ok(true); test.done(); }, "Test 2.1.1.2": function(test: nodeunit.Test) { test.ok(true); test.done(); } }), "TC 2.2.1": testCase({ "Test 2.2.1.1": function(test: nodeunit.Test) { test.ok(true); test.done(); }, "TC 2.2.1.1": testCase({ "Test 2.2.1.1.1": function(test: nodeunit.Test) { test.ok(true); test.done(); }, }), "Test 2.2.1.2": function(test: nodeunit.Test) { test.ok(true); test.done(); } }) }) }), "TC 3": testCase({ "TC 3.1": testCase({ "TC 3.1.1": testCase({ "Test 3.1.1.1 (should fail)": function(test: nodeunit.Test) { test.ok(false); test.done(); } }) }) }) });