|
1 | 1 | using MATLAB |
2 | 2 | using Test |
| 3 | +using SparseArrays |
3 | 4 |
|
4 | 5 | # Unit testing for MxArray |
5 | 6 |
|
@@ -361,6 +362,55 @@ delete(a_mx) |
361 | 362 | @test a == a_jl |
362 | 363 | @test isa(a_jl, SparseMatrixCSC{Complex{Float64}}) |
363 | 364 |
|
| 365 | +############################## |
| 366 | +# Abstract Array Conversions |
| 367 | +############################## |
| 368 | + |
| 369 | +a = transpose(rand(10)) |
| 370 | +x = mxarray(a) |
| 371 | +y = jvalue(x) |
| 372 | +delete(x) |
| 373 | +@test isa(y, Array{Float64,2}) |
| 374 | +@test size(y) == size(a) |
| 375 | +@test isequal(y, a) |
| 376 | + |
| 377 | +a = rand(10,10) |
| 378 | +a_ = @view a[3:7, 4:8] |
| 379 | +x = mxarray(a_) |
| 380 | +y = jvalue(x) |
| 381 | +delete(x) |
| 382 | +@test isa(y, Array{Float64,2}) |
| 383 | +@test size(y) == size(a_) |
| 384 | +@test isequal(y, a_) |
| 385 | + |
| 386 | +a_ = rand(ComplexF32, 10, 10, 10) |
| 387 | +a = @view a_[3:7, 4:8, 2:5] |
| 388 | +x = mxarray(a) |
| 389 | +y = jvalue(x) |
| 390 | +delete(x) |
| 391 | +@test isa(y, Array{ComplexF32,3}) |
| 392 | +@test size(y) == size(a) |
| 393 | + |
| 394 | +a = 1:100 # range |
| 395 | +x = mxarray(a) |
| 396 | +y = jvalue(x) |
| 397 | +delete(x) |
| 398 | +@test isa(y, Array{Int64,1}) |
| 399 | +@test isequal(y, collect(a)) |
| 400 | + |
| 401 | +a = BitArray(rand(Bool, 5,20,10)) |
| 402 | +x = mxarray(a) |
| 403 | +y = jvalue(x) |
| 404 | +delete(x) |
| 405 | +@test isa(y, Array{Bool,3}) |
| 406 | +@test isequal(y, a) |
| 407 | + |
| 408 | + |
| 409 | + |
| 410 | +############################## |
| 411 | +# String Conversions |
| 412 | +############################## |
| 413 | + |
364 | 414 | a = "MATLAB" |
365 | 415 | x = mxarray(a) |
366 | 416 | y = jvalue(x) |
|
0 commit comments