Skip to content

Commit 80d1e1a

Browse files
Improve tests in blockdiagonal.jl
1 parent 3c8d385 commit 80d1e1a

File tree

1 file changed

+17
-21
lines changed

1 file changed

+17
-21
lines changed

test/blockdiagonal.jl

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,14 @@ using Test
1111
blocks2 = [rand(rng, N1, N1), rand(rng, N3, N3), rand(rng, N2, N2)]
1212
blocks3 = [rand(rng, N1, N1), rand(rng, N2, N2), rand(rng, N2, N2)]
1313

14-
@testset "$T" for (T, (b1, b2, b3)) in (
15-
Tuple => (BlockDiagonal(Tuple(blocks1)), BlockDiagonal(Tuple(blocks2)), BlockDiagonal(Tuple(blocks3))),
16-
Vector => (BlockDiagonal(blocks1), BlockDiagonal(blocks2), BlockDiagonal(blocks3)),
17-
)
18-
A = rand(rng, N, N + N1)
19-
B = rand(rng, N + N1, N + N2)
20-
A′, B′ = A', B'
21-
a = rand(rng, N)
22-
b = rand(rng, N + N1)
14+
@testset for V in (Tuple, Vector)
15+
b1 = BlockDiagonal(V(blocks1))
16+
b2 = BlockDiagonal(V(blocks2))
17+
N = size(b1, 1)
2318

2419
@testset "AbstractArray" begin
25-
X = rand(2, 2); Y = rand(3, 3)
20+
X = rand(2, 2)
21+
Y = rand(3, 3)
2622

2723
@test size(b1) == (N, N)
2824
@test size(b1, 1) == N && size(b1, 2) == N
@@ -47,7 +43,7 @@ using Test
4743
end
4844

4945
@testset "parent" begin
50-
@test parent(b1) isa Union{Tuple,AbstractVector}
46+
@test parent(b1) isa V
5147
@test eltype(parent(b1)) <: AbstractMatrix
5248
@test parent(BlockDiagonal([X, Y])) == [X, Y]
5349
@test parent(BlockDiagonal((X, Y))) == (X, Y)
@@ -60,7 +56,7 @@ using Test
6056
end
6157

6258
@testset "setindex!" begin
63-
X = BlockDiagonal([rand(Float32, 5, 5), rand(Float32, 3, 3)])
59+
X = BlockDiagonal(V([rand(Float32, 5, 5), rand(Float32, 3, 3)]))
6460
X[10] = Int(10)
6561
@test X[10] === Float32(10.0)
6662
X[3, 3] = Int(9)
@@ -77,9 +73,9 @@ using Test
7773
end
7874

7975
@testset "blocks size" begin
80-
B = BlockDiagonal([rand(3, 3), rand(4, 4)])
76+
B = BlockDiagonal(V([rand(3, 3), rand(4, 4)]))
8177
@test nblocks(B) == 2
82-
@test blocksizes(B) == [(3, 3), (4, 4)]
78+
@test blocksizes(B) == V([(3, 3), (4, 4)])
8379
@test blocksize(B, 2) == blocksizes(B)[2] == blocksize(B, 2, 2)
8480
end
8581

@@ -101,15 +97,15 @@ using Test
10197
end # Equality
10298

10399
@testset "Non-Square Matrix" begin
104-
A1 = ones(2, 4)
105-
A2 = 2 * ones(3, 2)
106-
B1 = BlockDiagonal([A1, A2])
100+
A1 = ones(2, 4)
101+
A2 = 2 * ones(3, 2)
102+
B1 = BlockDiagonal(V([A1, A2]))
107103
B2 = [A1 zeros(2, 2); zeros(3, 4) A2]
108104

109-
@test B1 == B2
110-
# Dimension check
111-
@test sum(size.(B1.blocks, 1)) == size(B2, 1)
112-
@test sum(size.(B1.blocks, 2)) == size(B2, 2)
105+
@test B1 == B2
106+
# Dimension check
107+
@test sum(size.(B1.blocks, 1)) == size(B2, 1)
108+
@test sum(size.(B1.blocks, 2)) == size(B2, 2)
113109
end # Non-Square Matrix
114110

115111
@testset "copy" begin

0 commit comments

Comments
 (0)