Mercurial > repos > public > sbplib_julia
diff test/testSbpOperators.jl @ 576:1d4417ced79f feature/boundary_ops
Put test sets around 1d and 2d tests
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 01 Dec 2020 16:48:34 +0100 |
parents | 5691606851d8 |
children | b24b910a9025 |
line wrap: on
line diff
--- a/test/testSbpOperators.jl Tue Dec 01 16:41:59 2020 +0100 +++ b/test/testSbpOperators.jl Tue Dec 01 16:48:34 2020 +0100 @@ -179,21 +179,23 @@ g_2D = EquidistantGrid((11,15), (0.0, 0.0), (1.0,1.0)) @testset "Constructors" begin - # 1D - e_l = BoundaryRestriction{Float64,Lower,4}(op.eClosure,size(g_1D)[1]) - @test e_l == BoundaryRestriction(g_1D,op.eClosure,Lower()) - @test e_l == boundary_restriction(g_1D,op.eClosure,CartesianBoundary{1,Lower}()) - @test e_l isa TensorMapping{T,0,1} where T + @testset "1D" begin + e_l = BoundaryRestriction{Float64,Lower,4}(op.eClosure,size(g_1D)[1]) + @test e_l == BoundaryRestriction(g_1D,op.eClosure,Lower()) + @test e_l == boundary_restriction(g_1D,op.eClosure,CartesianBoundary{1,Lower}()) + @test e_l isa TensorMapping{T,0,1} where T - e_r = BoundaryRestriction{Float64,Upper,4}(op.eClosure,size(g_1D)[1]) - @test e_r == BoundaryRestriction(g_1D,op.eClosure,Upper()) - @test e_r == boundary_restriction(g_1D,op.eClosure,CartesianBoundary{1,Upper}()) - @test e_r isa TensorMapping{T,0,1} where T + e_r = BoundaryRestriction{Float64,Upper,4}(op.eClosure,size(g_1D)[1]) + @test e_r == BoundaryRestriction(g_1D,op.eClosure,Upper()) + @test e_r == boundary_restriction(g_1D,op.eClosure,CartesianBoundary{1,Upper}()) + @test e_r isa TensorMapping{T,0,1} where T + end - # 2D - e_w = boundary_restriction(g_2D,op.eClosure,CartesianBoundary{1,Upper}()) - @test e_w isa InflatedTensorMapping - @test e_w isa TensorMapping{T,1,2} where T + @testset "2D" begin + e_w = boundary_restriction(g_2D,op.eClosure,CartesianBoundary{1,Upper}()) + @test e_w isa InflatedTensorMapping + @test e_w isa TensorMapping{T,1,2} where T + end end e_l = boundary_restriction(g_1D, op.eClosure, CartesianBoundary{1,Lower}()) @@ -205,66 +207,72 @@ e_n = boundary_restriction(g_2D, op.eClosure, CartesianBoundary{2,Upper}()) @testset "Sizes" begin - # 1D - @test domain_size(e_l) == (11,) - @test domain_size(e_r) == (11,) + @testset "1D" begin + @test domain_size(e_l) == (11,) + @test domain_size(e_r) == (11,) - @test range_size(e_l) == () - @test range_size(e_r) == () + @test range_size(e_l) == () + @test range_size(e_r) == () + end - # 2D - @test domain_size(e_w) == (11,15) - @test domain_size(e_e) == (11,15) - @test domain_size(e_s) == (11,15) - @test domain_size(e_n) == (11,15) + @testset "2D" begin + @test domain_size(e_w) == (11,15) + @test domain_size(e_e) == (11,15) + @test domain_size(e_s) == (11,15) + @test domain_size(e_n) == (11,15) - @test range_size(e_w) == (15,) - @test range_size(e_e) == (15,) - @test range_size(e_s) == (11,) - @test range_size(e_n) == (11,) + @test range_size(e_w) == (15,) + @test range_size(e_e) == (15,) + @test range_size(e_s) == (11,) + @test range_size(e_n) == (11,) + end end @testset "Application" begin - # 1D - v = evalOn(g_1D,x->1+x^2) - u = fill(3.124) - @test (e_l*v)[] == v[1] - @test (e_r*v)[] == v[end] - @test (e_r*v)[1] == v[end] - @test e_l'*u == [u[]; zeros(10)] - @test e_r'*u == [zeros(10); u[]] + @testset "1D" begin + v = evalOn(g_1D,x->1+x^2) + u = fill(3.124) + @test (e_l*v)[] == v[1] + @test (e_r*v)[] == v[end] + @test (e_r*v)[1] == v[end] + @test e_l'*u == [u[]; zeros(10)] + @test e_r'*u == [zeros(10); u[]] + end - # 2D - v = rand(11, 15) + @testset "2D" begin + v = rand(11, 15) + u = fill(3.124) - @test e_w*v == v[1,:] - @test e_e*v == v[end,:] - @test e_s*v == v[:,1] - @test e_n*v == v[:,end] + @test e_w*v == v[1,:] + @test e_e*v == v[end,:] + @test e_s*v == v[:,1] + @test e_n*v == v[:,end] - g_x = rand(11) - g_y = rand(15) + g_x = rand(11) + g_y = rand(15) - G_w = zeros(Float64, (11,15)) - G_w[1,:] = g_y + G_w = zeros(Float64, (11,15)) + G_w[1,:] = g_y - G_e = zeros(Float64, (11,15)) - G_e[end,:] = g_y + G_e = zeros(Float64, (11,15)) + G_e[end,:] = g_y - G_s = zeros(Float64, (11,15)) - G_s[:,1] = g_x + G_s = zeros(Float64, (11,15)) + G_s[:,1] = g_x + + G_n = zeros(Float64, (11,15)) + G_n[:,end] = g_x - G_n = zeros(Float64, (11,15)) - G_n[:,end] = g_x - - @test e_w'*g_y == G_w - @test e_e'*g_y == G_e - @test e_s'*g_x == G_s - @test e_n'*g_x == G_n + @test e_w'*g_y == G_w + @test e_e'*g_y == G_e + @test e_s'*g_x == G_s + @test e_n'*g_x == G_n + end @testset "Regions" begin + u = fill(3.124) @test (e_l'*u)[Index(1,Lower)] == 3.124 @test (e_l'*u)[Index(2,Lower)] == 0 @test (e_l'*u)[Index(6,Interior)] == 0