test_merge_hconfig Subroutine

public subroutine test_merge_hconfig()

Arguments

None

Calls

proc~~test_merge_hconfig~~CallsGraph proc~test_merge_hconfig test_merge_hconfig ESMF_HConfigCreate ESMF_HConfigCreate proc~test_merge_hconfig->ESMF_HConfigCreate ESMF_HConfigDestroy ESMF_HConfigDestroy proc~test_merge_hconfig->ESMF_HConfigDestroy ESMF_HConfigFileSave ESMF_HConfigFileSave proc~test_merge_hconfig->ESMF_HConfigFileSave anyexceptions anyexceptions proc~test_merge_hconfig->anyexceptions assert_that assert_that proc~test_merge_hconfig->assert_that asserttrue asserttrue proc~test_merge_hconfig->asserttrue interface~mapl_hconfigmatch MAPL_HConfigMatch proc~test_merge_hconfig->interface~mapl_hconfigmatch proc~merge_config merge_config proc~test_merge_hconfig->proc~merge_config sourcelocation sourcelocation proc~test_merge_hconfig->sourcelocation proc~merge_config->ESMF_HConfigCreate proc~merge_config->ESMF_HConfigDestroy proc~merge_config->proc~merge_config ESMF_HConfigAdd ESMF_HConfigAdd proc~merge_config->ESMF_HConfigAdd ESMF_HConfigAsStringMapKey ESMF_HConfigAsStringMapKey proc~merge_config->ESMF_HConfigAsStringMapKey ESMF_HConfigCreateAtMapVal ESMF_HConfigCreateAtMapVal proc~merge_config->ESMF_HConfigCreateAtMapVal ESMF_HConfigIterLoop ESMF_HConfigIterLoop proc~merge_config->ESMF_HConfigIterLoop ESMF_HConfigSet ESMF_HConfigSet proc~merge_config->ESMF_HConfigSet esmf_hconfigasstringseq esmf_hconfigasstringseq proc~merge_config->esmf_hconfigasstringseq esmf_hconfigcreateat esmf_hconfigcreateat proc~merge_config->esmf_hconfigcreateat esmf_hconfigisdefined esmf_hconfigisdefined proc~merge_config->esmf_hconfigisdefined esmf_hconfigissequence esmf_hconfigissequence proc~merge_config->esmf_hconfigissequence esmf_hconfigiterbegin esmf_hconfigiterbegin proc~merge_config->esmf_hconfigiterbegin esmf_hconfigiterend esmf_hconfigiterend proc~merge_config->esmf_hconfigiterend interface~mapl_assert MAPL_Assert proc~merge_config->interface~mapl_assert proc~mapl_return MAPL_Return proc~merge_config->proc~mapl_return proc~mapl_verify MAPL_Verify proc~merge_config->proc~mapl_verify at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception

Source Code

   subroutine test_merge_hconfig()
      type(ESMF_HConfig) :: hc_main, hc_1, hc_2, expected_config, merged_config
      integer :: status

      hc_main = ESMF_HConfigCreate( content=&
           '{subconfigs: [hc1.yaml, hc2.yaml]}', _RC)
      hc_1 = ESMF_HConfigCreate(content='{Collections: {foo: {template: filea}}}', _RC)
      call ESMF_HConfigFileSave(hc_1, "hc1.yaml", _RC)
      hc_2 = ESMF_HConfigCreate(content='{Collections: {bar: {template: fileb}}}', _RC)
      call ESMF_HConfigFileSave(hc_2, "hc2.yaml", _RC)


      expected_config = ESMF_HConfigCreate(content= &
          '{Collections: {foo: {template: filea}, bar: {template: fileb}}}', _RC)

      merged_config = ESMF_HConfigCreate(_RC)
      call merge_config(merged_config, hc_main, _RC)
      @assertTrue(MAPL_HConfigMatch(merged_config, expected_config))
      
      call ESMF_HConfigDestroy(hc_main, _RC)
      call ESMF_HConfigDestroy(hc_1, _RC)
      call ESMF_HConfigDestroy(hc_2, _RC)
      call ESMF_HConfigDestroy(expected_config, _RC)
      call ESMF_HConfigDestroy(merged_config, _RC)

   end subroutine test_merge_hconfig