test_MAPL_invalid_name Subroutine

public subroutine test_MAPL_invalid_name(this)

Arguments

Type IntentOptional Attributes Name
class(MpiTestMethod), intent(inout) :: this

Calls

proc~~test_mapl_invalid_name~~CallsGraph proc~test_mapl_invalid_name test_MAPL_invalid_name ESMF_ClockCreate ESMF_ClockCreate proc~test_mapl_invalid_name->ESMF_ClockCreate ESMF_HConfigCreate ESMF_HConfigCreate proc~test_mapl_invalid_name->ESMF_HConfigCreate ESMF_HConfigDestroy ESMF_HConfigDestroy proc~test_mapl_invalid_name->ESMF_HConfigDestroy ESMF_TimeIntervalSet ESMF_TimeIntervalSet proc~test_mapl_invalid_name->ESMF_TimeIntervalSet ESMF_TimeSet ESMF_TimeSet proc~test_mapl_invalid_name->ESMF_TimeSet assert_that assert_that proc~test_mapl_invalid_name->assert_that assertexceptionraised assertexceptionraised proc~test_mapl_invalid_name->assertexceptionraised interface~create_grid_comp create_grid_comp proc~test_mapl_invalid_name->interface~create_grid_comp interface~get_outer_meta get_outer_meta proc~test_mapl_invalid_name->interface~get_outer_meta interface~user_setservices user_setservices proc~test_mapl_invalid_name->interface~user_setservices none~add_child~4 OuterMetaComponent%add_child proc~test_mapl_invalid_name->none~add_child~4 none~get_gridcomp~2 OuterMetaComponent%get_gridcomp proc~test_mapl_invalid_name->none~get_gridcomp~2

Source Code

   subroutine test_MAPL_invalid_name(this)
      class(MpiTestMethod), intent(inout) :: this
      
      type(ESMF_HConfig) :: config
      integer :: status
      type(ESMF_Time) :: t
      type(ESMF_TimeInterval) :: dt
      type(ESMF_Clock) :: clock

      call ESMF_TimeSet(t, h=0)
      call ESMF_TimeIntervalSet(dt, h=1)
      clock = ESMF_ClockCreate(dt, t)

      config = ESMF_HConfigCreate(content='{}', rc=status)
      @assert_that(status, is(0))

      associate (ss_parent => user_setservices('libsimple_parent_gridcomp'))
        parent_gc = create_grid_comp('parent', ss_parent, config, clock, rc=status)
      end associate
      @assert_that(status, is(0))
      parent_meta => get_outer_meta(parent_gc, rc=status)
      @assert_that(status, is(0))
      user_gc = parent_meta%get_gridcomp()

      associate (ss_leaf => user_setservices('libsimple_leaf_gridcomp'))
        ! Empty name
        call parent_meta%add_child('', ss_leaf, config, rc=status)
        @assertExceptionRaised('Child name <> does not conform to GEOS standards.')

        ! Illegal starting character
        call parent_meta%add_child('1A', ss_leaf, config, rc=status)
        @assertExceptionRaised('Child name <1A> does not conform to GEOS standards.')

        ! Illegal character: hyphen
        call parent_meta%add_child('A-1', ss_leaf, config, rc=status)
        @assertExceptionRaised('Child name <A-1> does not conform to GEOS standards.')

      end associate

      call ESMF_HConfigDestroy(config, rc=status)
      @assert_that(status, is(0))
      
   end subroutine test_MAPL_invalid_name