deno.land / x / linq@4.0.2 / test / functional.js

نووسراو ببینە
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
import { test, testModule, deepEqual, equal } from './testutils.js'import Enumerable from '../linq.js'
testModule("Functional");
test("letBind", function (){ var sum = Enumerable.range(1, 10) .letBind(function (e) { return e.zip(e, function (a, b) { return { a: a, b: b} }); }) .select("$.a + $.b") .sum(); equal(sum, 110);
var l1 = Enumerable.from([1, 2, 3, 4, 5]).letBind(function (a) { return Enumerable.from(a).zip(Enumerable.from(a).skip(1), function (x, y) { return x + ':' + y; }); }).toArray(); deepEqual(l1, ['1:2', '2:3', '3:4', '4:5']);
var l2 = Enumerable.range(1, 5).letBind(function (a) { return Enumerable.from(a).zip(Enumerable.from(a).skip(1), function (x, y) { return x + ':' + y; }); }).toArray(); deepEqual(l2, ['1:2', '2:3', '3:4', '4:5']);
deepEqual(l1, l2);});
test("share", function (){ var share = Enumerable.range(1, 10).share(); var ar1 = share.take(4).toArray(); var ar2 = share.toArray(); var ar3 = share.toArray(); deepEqual(ar1, [1, 2, 3, 4]); deepEqual(ar2, [5, 6, 7, 8, 9, 10]); deepEqual(ar3, []);});
test("memoize", function (){ var count = 0; var mem = Enumerable.range(1, 5) .select(function (x) { count++; return x; }) .memoize(); var ar1 = mem.toArray(); var ar2 = mem.toArray(); deepEqual(ar1, [1, 2, 3, 4, 5]); deepEqual(ar2, [1, 2, 3, 4, 5]); equal(5, count);
mem = Enumerable.from([1, 2, undefined, 3, 4]) .memoize();
ar1 = mem.toArray(); ar2 = mem.toArray(); deepEqual(ar1, [1, 2, undefined, 3, 4]); deepEqual(ar2, [1, 2, undefined, 3, 4]);});
linq

Version Info

Tagged at
7 months ago