Test_FixedLevelsVerticalGrid.pf Source File


This file depends on

sourcefile~~test_fixedlevelsverticalgrid.pf~~EfferentGraph sourcefile~test_fixedlevelsverticalgrid.pf Test_FixedLevelsVerticalGrid.pf sourcefile~esmf_testmethod.f90 ESMF_TestMethod.F90 sourcefile~test_fixedlevelsverticalgrid.pf->sourcefile~esmf_testmethod.f90 sourcefile~fixedlevelsverticalgrid.f90 FixedLevelsVerticalGrid.F90 sourcefile~test_fixedlevelsverticalgrid.pf->sourcefile~fixedlevelsverticalgrid.f90 sourcefile~esmf_testcase.f90 ESMF_TestCase.F90 sourcefile~esmf_testmethod.f90->sourcefile~esmf_testcase.f90 sourcefile~esmf_testparameter.f90 ESMF_TestParameter.F90 sourcefile~esmf_testmethod.f90->sourcefile~esmf_testparameter.f90 sourcefile~componentdriver.f90 ComponentDriver.F90 sourcefile~fixedlevelsverticalgrid.f90->sourcefile~componentdriver.f90 sourcefile~errorhandling.f90 ErrorHandling.F90 sourcefile~fixedlevelsverticalgrid.f90->sourcefile~errorhandling.f90 sourcefile~fieldcondensedarray.f90 FieldCondensedArray.F90 sourcefile~fixedlevelsverticalgrid.f90->sourcefile~fieldcondensedarray.f90 sourcefile~fieldcreate.f90 FieldCreate.F90 sourcefile~fixedlevelsverticalgrid.f90->sourcefile~fieldcreate.f90 sourcefile~mirrorverticalgrid.f90 MirrorVerticalGrid.F90 sourcefile~fixedlevelsverticalgrid.f90->sourcefile~mirrorverticalgrid.f90 sourcefile~verticaldimspec.f90 VerticalDimSpec.F90 sourcefile~fixedlevelsverticalgrid.f90->sourcefile~verticaldimspec.f90 sourcefile~verticalgrid.f90 VerticalGrid.F90 sourcefile~fixedlevelsverticalgrid.f90->sourcefile~verticalgrid.f90 sourcefile~verticalstaggerloc.f90 VerticalStaggerLoc.F90 sourcefile~fixedlevelsverticalgrid.f90->sourcefile~verticalstaggerloc.f90 sourcefile~componentdriver.f90->sourcefile~errorhandling.f90 sourcefile~maplshared.f90 MaplShared.F90 sourcefile~componentdriver.f90->sourcefile~maplshared.f90 sourcefile~multistate.f90 MultiState.F90 sourcefile~componentdriver.f90->sourcefile~multistate.f90 sourcefile~mapl_throw.f90 MAPL_Throw.F90 sourcefile~errorhandling.f90->sourcefile~mapl_throw.f90 sourcefile~esmf_testcase.f90->sourcefile~esmf_testparameter.f90 sourcefile~fieldcondensedarray.f90->sourcefile~verticalstaggerloc.f90 sourcefile~fieldcondensedarray_private.f90 FieldCondensedArray_private.F90 sourcefile~fieldcondensedarray.f90->sourcefile~fieldcondensedarray_private.f90 sourcefile~fieldget.f90 FieldGet.F90 sourcefile~fieldcondensedarray.f90->sourcefile~fieldget.f90 sourcefile~fieldpointerutilities.f90 FieldPointerUtilities.F90 sourcefile~fieldcondensedarray.f90->sourcefile~fieldpointerutilities.f90 sourcefile~mapl_exceptionhandling.f90 MAPL_ExceptionHandling.F90 sourcefile~fieldcondensedarray.f90->sourcefile~mapl_exceptionhandling.f90 sourcefile~fieldcreate.f90->sourcefile~errorhandling.f90 sourcefile~fieldcreate.f90->sourcefile~verticalstaggerloc.f90 sourcefile~fieldinfo.f90 FieldInfo.F90 sourcefile~fieldcreate.f90->sourcefile~fieldinfo.f90 sourcefile~keywordenforcer.f90 KeywordEnforcer.F90 sourcefile~fieldcreate.f90->sourcefile~keywordenforcer.f90 sourcefile~lu_bound.f90 LU_Bound.F90 sourcefile~fieldcreate.f90->sourcefile~lu_bound.f90 sourcefile~ungriddeddims.f90 UngriddedDims.F90 sourcefile~fieldcreate.f90->sourcefile~ungriddeddims.f90 sourcefile~mirrorverticalgrid.f90->sourcefile~componentdriver.f90 sourcefile~mirrorverticalgrid.f90->sourcefile~errorhandling.f90 sourcefile~mirrorverticalgrid.f90->sourcefile~verticaldimspec.f90 sourcefile~mirrorverticalgrid.f90->sourcefile~verticalgrid.f90 sourcefile~verticaldimspec.f90->sourcefile~errorhandling.f90 sourcefile~mapl_esmf_infokeys.f90 MAPL_ESMF_InfoKeys.F90 sourcefile~verticaldimspec.f90->sourcefile~mapl_esmf_infokeys.f90 sourcefile~verticalgrid.f90->sourcefile~errorhandling.f90

Source Code

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