class TransitOptions implements JQueryTransitOptions { opacity: number; duration: number; delay: number; easing: string; complete: () => void; scale: any; } $(document).ready(function () { test_opacity(); test_scale(); test_duration(); // Wait for all tests to complete and report results setTimeout(Assert.Results, 2000); }); class Assert { static totalTests: number = 0; static passedTests: number = 0; static Results() { console.log('Tests succeeded - ' + this.passedTests + '/' + this.totalTests + '; Tests failed - ' + (this.totalTests - this.passedTests) + '/' + this.totalTests); } static AssertionFailed(actual: any, expected: any, test: string) { console.log((test || '') + ' assertion failed -- expected ' + expected.toString() + '; actual ' + actual.toString()); } static Equal(actual: any, expected: any, test?: string) { this.totalTests++; if (actual === expected) { this.passedTests++; return; } this.AssertionFailed(actual, expected, test); } static NotEqual(actual: any, expected: any, test?: string) { this.totalTests++; if (actual !== expected) { this.passedTests++; return; } this.AssertionFailed(actual, expected, test); } } function test_signatures() { var TestObject = $('