Skip to content

Commit 54802d1

Browse files
KlausCtkluck
authored andcommitted
sparse findXXX: cherry-pick test cases from JuliaLang#31354
1 parent c45eff0 commit 54802d1

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

stdlib/SparseArrays/test/sparse.jl

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2263,16 +2263,20 @@ end
22632263
@test findprev(!iszero, x,i) == findprev(!iszero, x_sp,i)
22642264
end
22652265

2266-
y = [0 0 0 0 0;
2266+
y = [7 0 0 0 0;
22672267
1 0 1 0 0;
2268-
1 0 0 0 1;
2268+
1 7 0 7 1;
22692269
0 0 1 0 0;
2270-
1 0 1 1 0]
2271-
y_sp = sparse(y)
2270+
1 0 1 1 0.0]
2271+
y_sp = [x == 7 ? -0.0 : x for x in sparse(y)]
2272+
y = Array(y_sp)
2273+
@test isequal(y_sp[1,1], -0.0)
22722274

22732275
for i in keys(y)
22742276
@test findnext(!iszero, y,i) == findnext(!iszero, y_sp,i)
22752277
@test findprev(!iszero, y,i) == findprev(!iszero, y_sp,i)
2278+
@test findnext(iszero, y,i) == findnext(iszero, y_sp,i)
2279+
@test findprev(iszero, y,i) == findprev(iszero, y_sp,i)
22762280
end
22772281

22782282
z_sp = sparsevec(Dict(1=>1, 5=>1, 8=>0, 10=>1))
@@ -2282,6 +2286,17 @@ end
22822286
@test findnext(!iszero, z,i) == findnext(!iszero, z_sp,i)
22832287
@test findprev(!iszero, z,i) == findprev(!iszero, z_sp,i)
22842288
end
2289+
2290+
w = [ "a" ""; "" "b"]
2291+
w_sp = sparse(w)
2292+
2293+
for i in keys(w)
2294+
@test findnext(!isequal(""), w,i) == findnext(!isequal(""), w_sp,i)
2295+
@test findprev(!isequal(""), w,i) == findprev(!isequal(""), w_sp,i)
2296+
@test findnext(isequal(""), w,i) == findnext(isequal(""), w_sp,i)
2297+
@test findprev(isequal(""), w,i) == findprev(isequal(""), w_sp,i)
2298+
end
2299+
22852300
end
22862301

22872302
# #20711

0 commit comments

Comments
 (0)