module Test_FixedLevelsVerticalGrid use mapl3g_FixedLevelsVerticalGrid ! testing framework use ESMF_TestMethod_mod use funit implicit none contains @test subroutine test_num_levels() type(FixedLevelsVerticalGrid) :: vgrid real, parameter :: levels(*) = [1., 5., 7.] vgrid = FixedLevelsVerticalGrid(standard_name='air_pressure', units='Pa', levels=levels) @assert_that(vgrid%get_num_levels(), is(size(levels))) end subroutine test_num_levels @test subroutine test_equals() type(FixedLevelsVerticalGrid) :: vgrid1, vgrid2 real, parameter :: levels(*) = [1.,5.,7.] vgrid1 = FixedLevelsVerticalGrid(standard_name='air_pressure', units='Pa', levels=levels) vgrid2 = FixedLevelsVerticalGrid(standard_name='air_pressure', units='Pa', levels=levels) @assert_that(vgrid1==vgrid2, is(true())) end subroutine test_equals @test subroutine test_not_equals() type(FixedLevelsVerticalGrid) :: vgrid1, vgrid2, vgrid3 real, parameter :: levels1(*) = [1.,5.,7.] real, parameter :: levels2(*) = [.01,4.] vgrid1 = FixedLevelsVerticalGrid(standard_name='air_pressure', units='Pa', levels=levels1) vgrid2 = FixedLevelsVerticalGrid(standard_name='air_pressure', units='mb', levels=levels1) vgrid3 = FixedLevelsVerticalGrid(standard_name='air_pressure', units='Pa', levels=levels2) @assert_that(vgrid1 /= vgrid2, is(true())) @assert_that(vgrid1 /= vgrid3, is(true())) end subroutine test_not_equals end module Test_FixedLevelsVerticalGrid