Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | const {anything, assert, func, property} = require('fast-check') const {pipe} = require('./pipe') test('pipe returns its input for no functions', () => { const a = anything() assert( property(a, (a) => { expect( pipe()(a) ).toStrictEqual( a ) }) ) }) test('pipe composes functions, but backwards', () => { const f = func(anything()) const g = func(anything()) const a = anything() assert( property(f, g, a, (f, g, a) => { expect( pipe(f, g)(a) ).toStrictEqual( g(f(a)) ) }) ) }) test('pipe is associative', () => { const f = func(anything()) const g = func(anything()) const h = func(anything()) const a = anything() assert( property(f, g, h, a, (f, g, h, a) => { expect( pipe(f, pipe(g, h))(a) ).toStrictEqual( pipe(pipe(f, g), h)(a) ) }) ) }) test('piping f with id is f', () => { const id = a => a const f = func(anything()) const a = anything() assert( property(f, a, (f, a) => { expect( pipe(f, id)(a) ).toStrictEqual( f(a) ) }) ) }) test('piping id with f is f', () => { const id = a => a const f = func(anything()) const a = anything() assert( property(f, a, (f, a) => { expect( pipe(id, f)(a) ).toStrictEqual( f(a) ) }) ) }) |