|
| 1 | +import slices from require 'series' |
| 2 | + |
| 3 | +describe 'series', -> |
| 4 | + it 'slices of one from one', -> |
| 5 | + result = [s for s in slices '1', 1] |
| 6 | + expected = {'1'} |
| 7 | + assert.are.same expected, result |
| 8 | + |
| 9 | + pending 'slices of one from two', -> |
| 10 | + result = [s for s in slices '12', 1] |
| 11 | + expected = {'1', '2'} |
| 12 | + assert.are.same expected, result |
| 13 | + |
| 14 | + pending 'slices of two', -> |
| 15 | + result = [s for s in slices '35', 2] |
| 16 | + expected = {'35'} |
| 17 | + assert.are.same expected, result |
| 18 | + |
| 19 | + pending 'slices of two overlap', -> |
| 20 | + result = [s for s in slices '9142', 2] |
| 21 | + expected = {'91', '14', '42'} |
| 22 | + assert.are.same expected, result |
| 23 | + |
| 24 | + pending 'slices can include duplicates', -> |
| 25 | + result = [s for s in slices '777777', 3] |
| 26 | + expected = {'777', '777', '777', '777'} |
| 27 | + assert.are.same expected, result |
| 28 | + |
| 29 | + pending 'slices of a long series', -> |
| 30 | + result = [s for s in slices '918493904243', 5] |
| 31 | + expected = {'91849', '18493', '84939', '49390', '93904', '39042', '90424', '04243'} |
| 32 | + assert.are.same expected, result |
| 33 | + |
| 34 | + pending 'slice length is too large', -> |
| 35 | + f = -> slices '12345', 6 |
| 36 | + assert.has_error f, 'slice length cannot be greater than series length' |
| 37 | + |
| 38 | + pending 'slice length is way too large', -> |
| 39 | + f = -> slices '12345', 42 |
| 40 | + assert.has_error f, 'slice length cannot be greater than series length' |
| 41 | + |
| 42 | + pending 'slice length cannot be zero', -> |
| 43 | + f = -> slices '12345', 0 |
| 44 | + assert.has_error f, 'slice length cannot be zero' |
| 45 | + |
| 46 | + pending 'slice length cannot be negative', -> |
| 47 | + f = -> slices '123', -1 |
| 48 | + assert.has_error f, 'slice length cannot be negative' |
| 49 | + |
| 50 | + pending 'empty series is invalid', -> |
| 51 | + f = -> slices '', 1 |
| 52 | + assert.has_error f, 'series cannot be empty' |
0 commit comments