From e84270d3b4137da044a1537c83b2a4ba9c5e45f7 Mon Sep 17 00:00:00 2001 From: maximvassiliev Date: Thu, 15 Aug 2024 10:33:57 +0100 Subject: [PATCH] add unit test and style --- src/oneelement.jl | 4 ++-- test/runtests.jl | 17 +++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/oneelement.jl b/src/oneelement.jl index 7e6e7782..01cdea64 100644 --- a/src/oneelement.jl +++ b/src/oneelement.jl @@ -427,9 +427,9 @@ function Base.reshape(A::OneElement, shape::Tuple{Vararg{Int}}) end #permute -_permute(x::Tuple, p::Tuple) = ntuple(i -> x[p[i]], length(x)) +_permute(x, p) = ntuple(i -> x[p[i]], length(x)) permutedims(o::OneElementMatrix) = OneElement(o.val, reverse(o.ind), reverse(o.axes)) -permutedims(o::OneElementVector) = OneElement(o.val, (1, o.ind[1]), (1, length(o))) +permutedims(o::OneElementVector) = reshape(o, (1, length(o))) permutedims(o::OneElement, dims) = OneElement(o.val, _permute(o.ind, dims), _permute(o.axes, dims)) # show diff --git a/test/runtests.jl b/test/runtests.jl index a6271b7d..b22ac5e9 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -2668,14 +2668,15 @@ end end @testset "permutedims" begin - v = OneElement(1, (2,3), (2,5)) - @test permutedims(v) === OneElement(1, (3,2), (5,2)) - w = OneElement(1,3,5) - @test permutedims(w) === OneElement(1, (1,3), (1,5)) - x = OneElement(1, (1,2,3), (4,5,6)) - @test permutedims(x, (1,2,3)) === x - @test permutedims(x, (3,2,1)) === OneElement(1, (3,2,1), (6,5,4)) - @test_throws BoundsError permutedims(x, (2,1)) + v = OneElement(1, (2, 3), (2, 5)) + @test permutedims(v) === OneElement(1, (3, 2), (5, 2)) + w = OneElement(1, 3, 5) + @test permutedims(w) === OneElement(1, (1, 3), (1, 5)) + x = OneElement(1, (1, 2, 3), (4, 5, 6)) + @test permutedims(x, (1, 2, 3)) === x + @test permutedims(x, (3, 2, 1)) === OneElement(1, (3, 2, 1), (6, 5, 4)) + @test permutedims(x, [2, 3, 1]) === OneElement(1, (2, 3, 1), (5, 6, 4)) + @test_throws BoundsError permutedims(x, (2, 1)) end @testset "show" begin B = OneElement(2, (1, 2), (3, 4))