Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
subroutine test_connect(this)class(ESMF_TestMethod),intent(inout)::thistype(StateRegistry)::rtype(StateRegistry),target::r_A,r_B! child registriestype(VirtualConnectionPt)::cp_A,cp_Btype(SimpleConnection)::conntype(ExtensionFamily),pointer::familyinteger::statusr=StateRegistry('P')r_a=StateRegistry('child_A')r_b=StateRegistry('child_B')call r%add_subregistry(r_a)call r%add_subregistry(r_b)cp_A=VirtualConnectionPt(state_intent='export',short_name='ae')cp_B=VirtualConnectionPt(state_intent='import',short_name='ai')call r_a%add_primary_spec(cp_A,MockItemSpec('AE'))call r_b%add_primary_spec(cp_B,MockItemSpec('AI'))conn=SimpleConnection(CP('child_A',cp_A),CP('child_B',cp_B))call conn%connect(r,_RC)! Check that extension was createdfamily=>r_a%get_extension_family(cp_A,_RC)@assert_that(associated(family%get_primary()),is(true()))@assert_that(family%num_variants(),is(2))_UNUSED_DUMMY(this)end subroutine test_connect