-
Notifications
You must be signed in to change notification settings - Fork 18
/
SelectAsync.ts
57 lines (51 loc) · 2.34 KB
/
SelectAsync.ts
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
import { asAsync, itAsync, itEnumerableAsync, itParallel } from "../TestHelpers"
describe("selectAsync", () => {
itEnumerableAsync("Basic", async (asEnumerable) => {
const values = asEnumerable([1, 2, 3, 4, 5, 6, 7, 8, 9])
const trueValues = values.selectAsync(async (x) => x + 1)
const asyncValues = await trueValues.toArray()
expect(await values.select((x) => x + 1).toArray()).toEqual(asyncValues)
})
itAsync("Basic", async () => {
const values = asAsync([1, 2, 3, 4, 5, 6, 7, 8, 9])
const trueValues = values.selectAsync((x) => new Promise<number>((res) => res(x + 1)))
const asyncValues = await trueValues.toArray()
expect(await values.select((x) => x + 1).toArray()).toEqual(asyncValues)
})
itParallel("Basic", async (asParallel) => {
const values = asParallel([1, 2, 3, 4, 5, 6, 7, 8, 9])
const trueValues = values.selectAsync((x) => new Promise<number>((res) => res(x + 1)))
const asyncValues = await trueValues.toArray()
expect(await values.select((x) => x + 1).toArray()).toEqual(asyncValues)
})
itEnumerableAsync("String Key", async (asEnumerable) => {
const values = asEnumerable([1, 2, 3])
const trueValues = values
.select((x) => {
return { strKey: (async () => x + 1)() }
})
.selectAsync("strKey")
const asyncValues = await trueValues.toArray()
expect(await values.select((x) => x + 1).toArray()).toEqual(asyncValues)
})
itAsync("String Key", async () => {
const values = asAsync([1, 2, 3, 4, 5, 6, 7, 8, 9])
const trueValues = values
.select((x) => {
return { strKey: (async () => x + 1)() }
})
.selectAsync("strKey")
const asyncValues = await trueValues.toArray()
expect(await values.select((x) => x + 1).toArray()).toEqual(asyncValues)
})
itParallel("String Key", async (asParallel) => {
const values = asParallel([1, 2, 3, 4, 5, 6, 7, 8, 9])
const trueValues = values
.select((x) => {
return { strKey: (async () => x + 1)() }
})
.selectAsync("strKey")
const asyncValues = await trueValues.toArray()
expect(await values.select((x) => x + 1).toArray()).toEqual(asyncValues)
})
})