1 | var entities = function () { return [
|
2 | 'Ishmael', 'Ahab', 'Starbuck', 'Queequeg', 'Stubb', 'Tashtego', 'Flask', 'Daggoo',
|
3 | 'Pip', 'Fedallah', 'Peleg', 'Bildad', 'Mapple', 'Boomer', 'Gabriel'
|
4 | ] }
|
5 |
|
6 | var duplicates = function () { return [ 'Ahab', 'Starbuck', 'Queequeg', 'Gabriel' ] }
|
7 |
|
8 | var nested = function () { return [ 'Redburn', 'Jones', 'Riga', 'Jackson', 'Lavender', 'Blunt', 'Larry' ] }
|
9 |
|
10 | var assert = require( 'assert' )
|
11 | , chai = require( 'chai' )
|
12 | , dg = require( '../lib/dg.js' )
|
13 |
|
14 | it( 'syntax', function () {
|
15 | assert( function () { return dg = require( '../lib/dg.js' ) }, 'require' );
|
16 | } );
|
17 |
|
18 | it( 'unique', function () {
|
19 | var test1 = dg.unique(entities())
|
20 |
|
21 |
|
22 |
|
23 | assert.deepEqual( test1, entities(), 'simple uniqueness' );
|
24 |
|
25 |
|
26 |
|
27 | var entities_dupes = dg.flatten( [ entities(), duplicates() ] );
|
28 |
|
29 |
|
30 |
|
31 | var test2 = dg.unique( entities_dupes );
|
32 | assert.deepEqual( test2, entities(), 'uniqueness' );
|
33 |
|
34 |
|
35 |
|
36 | var nested_test = [ entities(), [ duplicates() ], [ nested() ] ];
|
37 |
|
38 |
|
39 |
|
40 | var nested_control = dg.flatten( [ entities(), nested() ] );
|
41 |
|
42 |
|
43 |
|
44 | var test3 = dg.unique( nested_test );
|
45 |
|
46 | assert.deepEqual( test3, nested_control, 'deep uniqueness' );
|
47 | } );
|