UNPKG

1.14 kBJavaScriptView Raw
1const test = require('./config').test
2const { filter } = require('..')
3
4test('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
10test('filter out all outputs', t => {
11 const cpsFun = cb => cb(42) + cb(33)
12 t.plan(0)
13 // won't call the callback
14 filter(n => n > 45)(cpsFun)()
15})
16
17test('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
23test('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
30test('filter multiple outputs', t => {
31 const cpsFun = (c1, c2) =>
32 c1(1) + c1(2) +
33 c2(3) + c2(4)
34 const cpsNew = filter(
35 // filters 1st output [1,2]
36 n => n < 2,
37 // filters 2nd output [3,4]
38 n => n < 1
39 )(cpsFun)
40 t.plan(1)
41 cpsNew(t.cis(1))
42})
43
44test('filter 3 outputs', t => {
45 const cpsFun = (c1, c2) =>
46 c1(2) + c2(5)
47 const cpsNew = filter(
48 // filters 1st output [1,2]
49 n => n < 4,
50 // filters 2nd output [3,4]
51 n => n < 6
52 )(cpsFun)
53 t.plan(2)
54 cpsNew(t.cis(2), t.cis(5))
55})
56
57
58