diff --git a/rx.js/rx.js.time.d.ts b/rx.js/rx.js.time.d.ts
index 779a7b3c9..f0d7fb889 100644
--- a/rx.js/rx.js.time.d.ts
+++ b/rx.js/rx.js.time.d.ts
@@ -3,11 +3,8 @@
// Type definitions for RxJS "Aggregates"
// Project: http://rx.codeplex.com/
// Definitions by: Carl de Billy
+// Revision by: Igor Oleinikov
// Definitions: https://github.com/borisyankov/DefinitelyTyped
-//
-// Dependencies:
-// -> rx.js
-// -> rx.time.js
declare module Rx {
diff --git a/rx.js/rx.testing.d.ts b/rx.js/rx.testing.d.ts
new file mode 100644
index 000000000..f2b6f4fff
--- /dev/null
+++ b/rx.js/rx.testing.d.ts
@@ -0,0 +1,53 @@
+///
+///
+
+// Type definitions for RxJS-Testing
+// Project: https://github.com/Reactive-Extensions/RxJS/
+// Definitions by: Igor Oleinikov
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module Rx {
+ export class TestScheduler extends VirtualTimeScheduler {
+ constructor();
+
+ createColdObservable(...records: Recorded[]): Observable;
+ createHotObservable(...records: Recorded[]): Observable;
+ createObserver(): MockObserver;
+
+ startWithTiming(create: () => Observable, createdAt: number, subscribedAt: number, disposedAt: number): MockObserver;
+ startWithDispose(create: () => Observable, disposedAt: number): MockObserver;
+ startWithCreate(create: () => Observable): MockObserver;
+ }
+
+ export class Recorded {
+ constructor(time: number, value: any, equalityComparer?: (x: any, y: any) => boolean);
+ equals(other: Recorded): boolean;
+ toString(): string;
+ time: number;
+ value: any;
+ }
+
+ export var ReactiveTest: {
+ created: number;
+ subscribed: number;
+ disposed: number;
+
+ onNext(ticks: number, value: any): Recorded;
+ onNext(ticks: number, predicate: (value: any) => boolean): Recorded;
+ onError(ticks: number, exception: any): Recorded;
+ onError(ticks: number, predicate: (exception: any) => boolean): Recorded;
+ onCompleted(ticks: number): Recorded;
+
+ subscribe(subscribeAt: number, unsubscribeAt?: number): Subscription;
+ };
+
+ export class Subscription {
+ constructor(subscribeAt: number, unsubscribeAt?: number);
+ equals(other: Subscription): boolean;
+ }
+
+ export class MockObserver extends Observer {
+ constructor(scheduler: IScheduler);
+ messages: Recorded[];
+ }
+}