@@ -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