1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- var test = require('tape');
- var intersect = require('..');
- test('intersect', function (t) {
- t.deepEqual(intersect([1], [2]), [], 'empty');
- t.deepEqual(intersect([1, 2], [2]), [2], 'intersection');
- t.end();
- });
- test('big', function (t) {
- t.deepEqual(intersect.big([1], [2]), [], 'empty');
- t.deepEqual(intersect.big([1, 2], [2]), [2], 'intersection');
- t.end();
- });
- test('compliance', function(t) {
- for (var algo in intersect) {
- if (intersect.hasOwnProperty(algo) && typeof intersect[algo] === 'function') {
- t.deepEqual(intersect[algo]([2], [2,2,2]), intersect([2], [2,2,2]), algo + '-complies-1');
- t.deepEqual(intersect[algo]([2,2,2], [2]), intersect([2,2,2], [2]), algo + '-complies-2');
- }
- }
- t.end();
- });
- test('multiple sets at once', function (t) {
- [intersect, intersect.big].forEach(function (fn) {
- t.deepEqual(
- fn([
- [1, 2, 3, 4, 6],
- [2, 4, 5, 6],
- [2, 5, 6]
- ]),
- [2,6]
- );
- t.deepEqual(
- fn([
- [1, 2, 3, 4, 6],
- [2, 4, 5, 6],
- [2, 5, 6],
- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- ]),
- [2,6]
- );
- t.deepEqual(
- fn([
- [1, 2, 3, 4, 6],
- [2, 5, 6]
- ]),
- [2,6]
- );
- t.deepEqual(
- fn([
- [1, 2, 3, 4, 6],
- [2, 5, 6]
- ]),
- [2,6]
- );
- t.deepEqual(
- fn([
- [2, 5, 6]
- ]),
- [2, 5, 6]
- );
- t.deepEqual(
- fn([]),
- []
- );
- });
- t.end();
- });
|