1 | const test = require('./config').test
|
2 | const { filter } = require('..')
|
3 |
|
4 | test('filter single output', t => {
|
5 | const cpsFun = cb => cb(42) + cb(33)
|
6 | t.plan(1)
|
7 | filter(n => n > 35)(cpsFun)(t.cis(42))
|
8 | })
|
9 |
|
10 | test('filter out all outputs', t => {
|
11 | const cpsFun = cb => cb(42) + cb(33)
|
12 | t.plan(0)
|
13 |
|
14 | filter(n => n > 45)(cpsFun)()
|
15 | })
|
16 |
|
17 | test('filter multiple occurences', t => {
|
18 | const cpsFun = cb => cb(33) + cb(42) + cb(33)
|
19 | t.plan(2)
|
20 | filter(n => n < 35)(cpsFun)(t.cis(33))
|
21 | })
|
22 |
|
23 | test('filter tuples', t => {
|
24 | const cpsFun = cb => cb(1,2) + cb(3,4)
|
25 | t.plan(1)
|
26 | const cpsNew = filter(a => a > 1)(cpsFun)
|
27 | cpsNew(t.cis(3))
|
28 | })
|
29 |
|
30 | test('filter multiple outputs', t => {
|
31 | const cpsFun = (c1, c2) =>
|
32 | c1(1) + c1(2) +
|
33 | c2(3) + c2(4)
|
34 | const cpsNew = filter(
|
35 |
|
36 | n => n < 2,
|
37 |
|
38 | n => n < 1
|
39 | )(cpsFun)
|
40 | t.plan(1)
|
41 | cpsNew(t.cis(1))
|
42 | })
|
43 |
|
44 | test('filter 3 outputs', t => {
|
45 | const cpsFun = (c1, c2) =>
|
46 | c1(2) + c2(5)
|
47 | const cpsNew = filter(
|
48 |
|
49 | n => n < 4,
|
50 |
|
51 | n => n < 6
|
52 | )(cpsFun)
|
53 | t.plan(2)
|
54 | cpsNew(t.cis(2), t.cis(5))
|
55 | })
|
56 |
|
57 |
|
58 |
|