test_get_i8seq Subroutine

public subroutine test_get_i8seq()

Arguments

None

Calls

proc~~test_get_i8seq~~CallsGraph proc~test_get_i8seq test_get_i8seq ESMF_HConfigAdd ESMF_HConfigAdd proc~test_get_i8seq->ESMF_HConfigAdd assertequal assertequal proc~test_get_i8seq->assertequal asserttrue asserttrue proc~test_get_i8seq->asserttrue interface~get_value get_value proc~test_get_i8seq->interface~get_value

Source Code

   subroutine test_get_i8seq()
      character(len=*), parameter :: LABEL = 'three'
      integer(kind=I8), parameter :: EXPECTED(3) = [-1, 0, 1]
      integer(kind=I8), allocatable :: actual(:)
      type(HConfigParams) :: params
      logical :: found
      integer :: status

      call ESMF_HConfigAdd(hconfig, EXPECTED, addKeyString=LABEL, rc=status)
      @assertEqual(0, status, ERROR_ADD_FAIL)
      params = HConfigParams(hconfig, LABEL, check_value_set=.TRUE.)
      call get_value(params, actual, rc=status)
      found = params%value_set
      @assertEqual(0, status, ERROR_GET_FAILED)
      @assertTrue(found, ERROR_NOT_FOUND // LABEL)
      @assertTrue(all(actual == EXPECTED), ERROR_MISMATCH)

   end subroutine test_get_i8seq