test_do_not_propagate_satisfied_import Subroutine

public subroutine test_do_not_propagate_satisfied_import()

Arguments

None

Calls

proc~~test_do_not_propagate_satisfied_import~~CallsGraph proc~test_do_not_propagate_satisfied_import test_do_not_propagate_satisfied_import anyexceptions anyexceptions proc~test_do_not_propagate_satisfied_import->anyexceptions assert_that assert_that proc~test_do_not_propagate_satisfied_import->assert_that false false proc~test_do_not_propagate_satisfied_import->false none~add_primary_spec StateRegistry%add_primary_spec proc~test_do_not_propagate_satisfied_import->none~add_primary_spec none~add_subregistry StateRegistry%add_subregistry proc~test_do_not_propagate_satisfied_import->none~add_subregistry none~has_virtual_pt StateRegistry%has_virtual_pt proc~test_do_not_propagate_satisfied_import->none~has_virtual_pt none~num_owned_items StateRegistry%num_owned_items proc~test_do_not_propagate_satisfied_import->none~num_owned_items none~propagate_unsatisfied_imports~3 StateRegistry%propagate_unsatisfied_imports proc~test_do_not_propagate_satisfied_import->none~propagate_unsatisfied_imports~3 none~set_active StateItemSpec%set_active proc~test_do_not_propagate_satisfied_import->none~set_active sourcelocation sourcelocation proc~test_do_not_propagate_satisfied_import->sourcelocation none~add_family StateRegistry%add_family none~add_primary_spec->none~add_family none~back~56 StateItemExtensionVector%back none~add_primary_spec->none~back~56 none~push_back~49 StateItemExtensionVector%push_back none~add_primary_spec->none~push_back~49 proc~mapl_return MAPL_Return none~add_primary_spec->proc~mapl_return proc~mapl_verify MAPL_Verify none~add_primary_spec->proc~mapl_verify interface~mapl_assert MAPL_Assert none~add_subregistry->interface~mapl_assert none~get_name~14 StateRegistry%get_name none~add_subregistry->none~get_name~14 none~has_subregistry StateRegistry%has_subregistry none~add_subregistry->none~has_subregistry none~insert~88 RegistryPtrMap%insert none~add_subregistry->none~insert~88 none~add_subregistry->proc~mapl_return none~propagate_unsatisfied_imports_virtual_pt StateRegistry%propagate_unsatisfied_imports_virtual_pt none~propagate_unsatisfied_imports~3->none~propagate_unsatisfied_imports_virtual_pt none~add_family->proc~mapl_return none~add_family->proc~mapl_verify none~add_virtual_pt StateRegistry%add_virtual_pt none~add_family->none~add_virtual_pt none~at~112 VirtualPtFamilyMap%at none~add_family->none~at~112 none~insert_pair~9 RegistryPtrMap%insert_pair none~insert~88->none~insert_pair~9 none~propagate_unsatisfied_imports_virtual_pt->proc~mapl_return none~propagate_unsatisfied_imports_virtual_pt->proc~mapl_verify none~get_extensions~2 ExtensionFamily%get_extensions none~propagate_unsatisfied_imports_virtual_pt->none~get_extensions~2 none~of~229 StateItemExtensionPtrVector%of none~propagate_unsatisfied_imports_virtual_pt->none~of~229 none~capacity~289 StateItemExtensionVector%capacity none~push_back~49->none~capacity~289 none~resize~98 StateItemExtensionVector%resize none~push_back~49->none~resize~98 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_do_not_propagate_satisfied_import()
      type(StateRegistry), target :: r_child, r_parent
      integer :: status
      type(VirtualConnectionPt) :: v_pt
      type(MockItemSpec), target :: spec
      
      r_parent = StateRegistry('parent')
      r_child = StateRegistry('child')
      call r_parent%add_subregistry(r_child)

      v_pt = VirtualConnectionPt(state_intent='import', short_name='T')
      spec = MockItemSpec('T_child')
      call spec%set_active()
      call r_child%add_primary_spec(v_pt, spec, _RC)
      call r_parent%propagate_unsatisfied_imports(_RC)

      @assert_that(r_parent%num_owned_items(), is(0))
      @assert_that(r_parent%has_virtual_pt(v_pt), is(false()))

   end subroutine test_do_not_propagate_satisfied_import