test_get_ungridded_dims Subroutine

public subroutine test_get_ungridded_dims()

Arguments

None

Calls

proc~~test_get_ungridded_dims~~CallsGraph proc~test_get_ungridded_dims test_get_ungridded_dims anyexceptions anyexceptions proc~test_get_ungridded_dims->anyexceptions assert_that assert_that proc~test_get_ungridded_dims->assert_that assertequal assertequal proc~test_get_ungridded_dims->assertequal none~at~97 UngriddedDimVector%at proc~test_get_ungridded_dims->none~at~97 none~get_coordinates~2 UngriddedDim%get_coordinates proc~test_get_ungridded_dims->none~get_coordinates~2 none~get_name~15 UngriddedDim%get_name proc~test_get_ungridded_dims->none~get_name~15 none~get_units~4 UngriddedDim%get_units proc~test_get_ungridded_dims->none~get_units~4 proc~get_ungridded_dims_bundle_info get_ungridded_dims_bundle_info proc~test_get_ungridded_dims->proc~get_ungridded_dims_bundle_info proc~make_esmf_info make_esmf_info proc~test_get_ungridded_dims->proc~make_esmf_info proc~safe_dealloc safe_dealloc proc~test_get_ungridded_dims->proc~safe_dealloc sourcelocation sourcelocation proc~test_get_ungridded_dims->sourcelocation

Source Code

   subroutine test_get_ungridded_dims()
      integer :: status
      integer :: i
      integer, parameter :: N = 2
      integer, parameter :: D = 3
      character(len=*), parameter :: EXPECTED_NAMES(N) = ['color', 'phase']
      character(len=*), parameter :: EXPECTED_UNITS(N) = ['K  ', 'rad']
      real, parameter :: REAL_ARRAY(D) = [1.0, 2.0, 3.0]
      real :: EXPECTED_COORDINATES(N, D)
      character(len=:), allocatable :: name
      character(len=:), allocatable :: units
      real, allocatable :: coordinates(:)
      type(UngriddedDimVector) :: vec
      type(UngriddedDim) :: undim

      call safe_dealloc(bundle_info)

      do i=1, N
         EXPECTED_COORDINATES(i,:) = REAL_ARRAY
      end do

      allocate(bundle_info(N))
      do i=1, N
         bundle_info(i) = make_esmf_info(names=EXPECTED_NAMES, units_array=EXPECTED_UNITS, coordinates=EXPECTED_COORDINATES, _RC)
      end do
      vec = get_ungridded_dims_bundle_info(bundle_info, _RC)
      do i=1, N
         undim = vec%at(i)
         name = undim%get_name()
         @assertEqual(EXPECTED_NAMES(i), name, 'ungridded dimension name does not match.')
         units = undim%get_units()
         @assertEqual(EXPECTED_UNITS(i), units, 'ungridded dimension units does not match.')
         coordinates = undim%get_coordinates()
         @assertEqual(EXPECTED_COORDINATES(i, :), coordinates, 0.01, 'ungridded dimensions coordinates does not match.')
      end do
      call safe_dealloc(bundle_info)

   end subroutine test_get_ungridded_dims