|
177 | 177 | str = String(take!(io)) |
178 | 178 | @test occursin("x1 + x2", str) |
179 | 179 | end |
| 180 | + |
| 181 | +@testset "mapreduce" begin |
| 182 | + for T in [Int, Float64] |
| 183 | + x = rand(T, 10); y = similar(x); |
| 184 | + |
| 185 | + f = x->x^2; op = + |
| 186 | + @test mapreduce(f, op, x) == mappedarrayreduce(f, op, x) |
| 187 | + @test mapreduce(f, op, x, init = zero(T)) == mappedarrayreduce(f, op, x, init = zero(T)) |
| 188 | + @test mapreduce(f, op, x, init = zero(T), dims = 1) == mappedarrayreduce(f, op, x, init = zero(T), dims = 1) |
| 189 | + @test mapreduce(f, op, x, init = zero(T), dims = :) == mappedarrayreduce(f, op, x, init = zero(T), dims = :) |
| 190 | + |
| 191 | + @test_throws Exception mappedarrayreduce(x->x^2, sqrt, op, x) |
| 192 | + |
| 193 | + if VERSION >= v"1.2" |
| 194 | + f = ==; op = + |
| 195 | + @test mapreduce(f, op, x, y) == mappedarrayreduce(f, op, x, y) |
| 196 | + @test mapreduce(f, op, x, y, init = 0) == mappedarrayreduce(f, op, x, y, init = 0) |
| 197 | + @test mapreduce(f, op, x, y, init = 0, dims = 1) == mappedarrayreduce(f, op, x, y, init = 0, dims = 1) |
| 198 | + @test mapreduce(f, op, x, y, init = 0, dims = :) == mappedarrayreduce(f, op, x, y, init = 0, dims = :) |
| 199 | + end |
| 200 | + end |
| 201 | +end |
0 commit comments