test_make_valuestring_logicalseq Subroutine

public subroutine test_make_valuestring_logicalseq()

Arguments

None

Calls

proc~~test_make_valuestring_logicalseq~~CallsGraph proc~test_make_valuestring_logicalseq test_make_valuestring_logicalseq assertequal assertequal proc~test_make_valuestring_logicalseq->assertequal interface~get_value get_value proc~test_make_valuestring_logicalseq->interface~get_value proc~valuestring_mismatch valuestring_mismatch proc~test_make_valuestring_logicalseq->proc~valuestring_mismatch

Source Code

   subroutine test_make_valuestring_logicalseq()
      character(len=*), parameter :: EXPECTED = '[T, F, F' // ELLIPSIS // ']' // DEFTAG
      logical, parameter :: DEFAULT(4) = [ .TRUE., .FALSE., .FALSE., .TRUE. ]
      logical, allocatable :: value(:)
      type(HConfigParams) :: params
      integer :: status
      character(len=:), allocatable :: valuestring
      character(len=:), allocatable :: error_message

      params = HConfigParams(hconfig, 'label')
      call get_value(params, value, default=DEFAULT, valuestring=valuestring, rc=status)
      @assertEqual(0, status, ERROR_GET_FAILED)
      if(EXPECTED /= valuestring) error_message = valuestring_mismatch(valuestring, EXPECTED)
      @assertEqual(EXPECTED, valuestring, error_message)

   end subroutine test_make_valuestring_logicalseq