Skip to content

Commit 1b21b28

Browse files
authored
Add more tests (#26)
1 parent 61d23ff commit 1b21b28

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

test/test_modifying.jl

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
module TestModifying
2+
3+
using DataTools
4+
using Setfield: @lens
5+
using Test
6+
using Transducers
7+
8+
reduce_bs1(args...; kw...) = reduce(args...; basesize = 1, kw...)
9+
10+
@testset for fold in [foldl, reduce_bs1, reduce]
11+
@test fold(modifying(a = +), Map(identity), [(a = 1, b = 2), (a = 3, b = 4)]) ==
12+
(a = 4, b = 2)
13+
end
14+
15+
@testset "map" begin
16+
@test map(modifying(a = string), [(a = 1, b = 2), (a = 3, b = 4)]) ==
17+
[(a = "1", b = 2), (a = "3", b = 4)]
18+
@test map(
19+
modifying(@lens(_.a[1].b) => x -> 10x),
20+
[(a = ((b = 1,), 2),), (a = ((b = 3,), 4),)],
21+
) == [(a = ((b = 10,), 2),), (a = ((b = 30,), 4),)]
22+
end
23+
24+
end # module

test/test_oncol.jl

+12-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
module TestOncol
22

3-
using Test
43
using DataTools
4+
using Test
5+
using Transducers
6+
7+
reduce_bs1(args...; kw...) = reduce(args...; basesize = 1, kw...)
58

69
@testset begin
710
@test oncol(a = +, b = *)((a = 1, b = 2), (a = 3, b = 4)) == (a = 4, b = 8)
@@ -11,4 +14,12 @@ using DataTools
1114
(a_min = 1, a_max = 2)
1215
end
1316

17+
@testset for fold in [foldl, reduce_bs1, reduce]
18+
@test fold(
19+
oncol(a = +, b = averaging),
20+
Filter(x -> isodd(x.a)),
21+
[(a = 1, b = 7), (a = 2, b = 3), (a = 3, b = 4)],
22+
) == (a = 4, b = 5.5)
23+
end
24+
1425
end # module

0 commit comments

Comments
 (0)