1 | var lift3 = require('../src/lift3');
|
2 | var Identity = require('../src/Identity');
|
3 | var R = require('ramda');
|
4 | var assert = require('assert');
|
5 |
|
6 | describe('lift3', function() {
|
7 |
|
8 | var combine3 = R.curry(function(a, b, c) {
|
9 | return [a, b, c].join(' ');
|
10 | });
|
11 |
|
12 | var i1 = Identity.of('foo');
|
13 | var i2 = Identity.of('bar');
|
14 | var i3 = Identity.of('baz');
|
15 |
|
16 | it('lifts the values of three applys into a curried function', function() {
|
17 | var result = lift3(combine3, i1, i2, i3);
|
18 | assert.equal(true, Identity.of('foo bar baz').equals(result));
|
19 | });
|
20 |
|
21 | it('is itself curried', function() {
|
22 | var step1 = lift3(combine3);
|
23 | var step2 = step1(i1);
|
24 | var step3 = step2(i2);
|
25 | var result = step3(i3);
|
26 | assert.equal(true, Identity.of('foo bar baz').equals(result));
|
27 | });
|
28 |
|
29 | });
|