diff --git a/buffer-compare/buffer-compare-tests.ts b/buffer-compare/buffer-compare-tests.ts
new file mode 100644
index 0000000000..88e6dddb94
--- /dev/null
+++ b/buffer-compare/buffer-compare-tests.ts
@@ -0,0 +1,27 @@
+///
+///
+
+import compare = require('buffer-compare');
+
+let result: number;
+
+result = compare(new Buffer(''), new Buffer(''));
+result = compare([], []);
+result = compare('', '');
+result = compare(new Buffer(''), []);
+result = compare([], '');
+result = compare('', new Buffer(''));
+
+result = compare(new Buffer(''), new Buffer(''));
+result = compare([], []);
+result = compare('', '');
+result = compare(new Buffer(''), []);
+result = compare([], '');
+result = compare('', new Buffer(''));
+
+result = compare(new Buffer(''), new Buffer(''));
+result = compare([], []);
+result = compare('', '');
+result = compare(new Buffer(''), []);
+result = compare([], '');
+result = compare('', new Buffer(''));
diff --git a/buffer-compare/buffer-compare.d.ts b/buffer-compare/buffer-compare.d.ts
new file mode 100644
index 0000000000..58e4004dcb
--- /dev/null
+++ b/buffer-compare/buffer-compare.d.ts
@@ -0,0 +1,17 @@
+// Type definitions for buffer-compare
+// Project: https://github.com/soldair/node-buffer-compare
+// Definitions by: Ilya Mochalov
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module "buffer-compare" {
+ interface List {
+ [index: number]: any;
+ length: number
+ }
+
+ function compare(cmp: List, to: List): number;
+ function compare(cmp: T, to: T): number;
+ function compare(cmp: C, to: T): number;
+
+ export = compare;
+}