test_setPrivate_is_private Subroutine

public subroutine test_setPrivate_is_private()

Arguments

None

Calls

proc~~test_setprivate_is_private~~CallsGraph proc~test_setprivate_is_private test_setPrivate_is_private anyexceptions anyexceptions proc~test_setprivate_is_private->anyexceptions assert_that assert_that proc~test_setprivate_is_private->assert_that esmf_fielddestroy esmf_fielddestroy proc~test_setprivate_is_private->esmf_fielddestroy esmf_fieldemptycreate esmf_fieldemptycreate proc~test_setprivate_is_private->esmf_fieldemptycreate esmf_stateadd esmf_stateadd proc~test_setprivate_is_private->esmf_stateadd esmf_statecreate esmf_statecreate proc~test_setprivate_is_private->esmf_statecreate esmf_statedestroy esmf_statedestroy proc~test_setprivate_is_private->esmf_statedestroy interface~mapl_infogetprivate MAPL_InfoGetPrivate proc~test_setprivate_is_private->interface~mapl_infogetprivate interface~mapl_infosetnamespace MAPL_InfoSetNamespace proc~test_setprivate_is_private->interface~mapl_infosetnamespace interface~mapl_infosetprivate MAPL_InfoSetPrivate proc~test_setprivate_is_private->interface~mapl_infosetprivate sourcelocation sourcelocation proc~test_setprivate_is_private->sourcelocation

Source Code

   subroutine test_setPrivate_is_private()
      type(ESMF_State) :: state_a
      type(ESMF_State) :: state_b
      type(ESMF_Field) :: field
      integer :: status
      integer :: i_a, i_b

      state_a = ESMF_StateCreate(name='import', _RC)
      call MAPL_InfoSetNameSpace(state_a, namespace='/compA', _RC)

      state_b = ESMF_StateCreate(name='import', _RC)
      call MAPL_InfoSetNameSpace(state_b, namespace='/compB', _RC)


      ! Same field goes in multiple states.  Accesses to private
      ! attributes first retrieves the namespace from state.
      ! Note that this means "raw" access to private attributes is
      ! not supported as the context in not available.
      field = ESMF_FieldEmptyCreate(name='f', _RC)
      call ESMF_StateAdd(state_a, [field], _RC)
      call ESMF_StateAdd(state_b, [field], _RC)

      call MAPL_InfoSetPrivate(state_a, short_name='f', key='a', value=1, _RC)
      call MAPL_InfoSetPrivate(state_b, short_name='f', key='a', value=2, _RC)

      call MAPL_InfoGetPrivate(state_a, short_name='f', key='a', value=i_a, _RC)
      call MAPL_InfoGetPrivate(state_b, short_name='f', key='a', value=i_b, _RC)

      @assert_that(i_a, is(1))
      @assert_that(i_b, is(2))

      call ESMF_FieldDestroy(field, _RC)
      call ESMF_StateDestroy(state_a, _RC)
      call ESMF_StateDestroy(state_b, _RC)

   end subroutine test_setPrivate_is_private