From 58a57a9000e0cdbddd224736417c36496c77d54c Mon Sep 17 00:00:00 2001 From: Milan Date: Thu, 24 Oct 2024 15:38:20 +0100 Subject: [PATCH] grid create from vector test shortened --- test/grids.jl | 76 +++++++++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 48 deletions(-) diff --git a/test/grids.jl b/test/grids.jl index b18bc5a1c..08e53227d 100644 --- a/test/grids.jl +++ b/test/grids.jl @@ -45,56 +45,36 @@ end @testset "Grid indexing" begin for NF in (Float32, Float64) + for Grid in ( + FullClenshawGrid, + FullGaussianGrid, + OctahedralGaussianGrid, + OctahedralClenshawGrid, + HEALPixGrid, + OctaHEALPixGrid, + FullHEALPixGrid, + FullOctaHEALPixGrid + ) + for nlat_half in (4, 8, 16, 24, 32) + + npoints = RingGrids.get_npoints(Grid, nlat_half) + + grid1 = Grid(randn(NF, npoints), nlat_half) + grid2 = Grid(randn(NF, npoints)) + grid3 = zeros(Grid{NF}, nlat_half) - # TODO maybe don't hardcode the vector length but use get_npoints - - # with vector and resolution parameter provided - L = FullClenshawGrid(randn(NF, 96*47), 24) # L24 grid - F = FullGaussianGrid(randn(NF, 96*48), 24) # F24 grid - O = OctahedralGaussianGrid(randn(NF, 2400), 24) # O24 grid - C = OctahedralClenshawGrid(randn(NF, 2304), 24) # C24 grid - H = HEALPixGrid(randn(NF, 3072), 32) # H32 grid - J = OctaHEALPixGrid(randn(NF, 4096), 32) # J32 grid - K = FullOctaHEALPixGrid(randn(NF, 128*63), 32) # K32 grid - - # without resolution parameter provided (inferred from vector length) - L2 = FullClenshawGrid(randn(NF, 96*47)) # L24 grid - F2 = FullGaussianGrid(randn(NF, 96*48)) # F24 grid - O2 = OctahedralGaussianGrid(randn(NF, 2400)) # O24 grid - C2 = OctahedralClenshawGrid(randn(NF, 2304)) # C24 grid - H2 = HEALPixGrid(randn(NF, 3072)) # H32 grid - J2 = OctaHEALPixGrid(randn(NF, 4096)) # J32 grid - K2 = FullOctaHEALPixGrid(randn(NF, 128*63)) # K32 grid - - for (grid1, grid2) in zip((L, F, O, C, H, J, K), (L2, F2, O2, C2, H2, J2, K2)) - @test size(grid1) == size(grid2) - end + @test size(grid1) == size(grid2) == size(grid3) + + # getindex + for ij in eachindex(grid1) grid1[ij] end - # getindex - for ij in eachindex(L) L[ij] end - for ij in eachindex(F) F[ij] end - for ij in eachindex(O) O[ij] end - for ij in eachindex(C) C[ij] end - for ij in eachindex(H) H[ij] end - for ij in eachindex(J) J[ij] end - for ij in eachindex(K) K[ij] end - - # set index - for ij in eachindex(L) L[ij] = 0 end - for ij in eachindex(F) F[ij] = 0 end - for ij in eachindex(O) O[ij] = 0 end - for ij in eachindex(C) C[ij] = 0 end - for ij in eachindex(H) H[ij] = 0 end - for ij in eachindex(J) J[ij] = 0 end - for ij in eachindex(K) K[ij] = 0 end - - @test all(L .== 0) - @test all(F .== 0) - @test all(O .== 0) - @test all(C .== 0) - @test all(H .== 0) - @test all(J .== 0) - @test all(K .== 0) + # setindex + for ij in eachindex(grid1) grid1[ij] = 0 end + + @test all(grid1 .== 0) + @test grid1 == grid3 + end + end end end