ESMF_TestMethod Derived Type

type, public, extends(ESMF_TestCase) :: ESMF_TestMethod


Inherits

type~~esmf_testmethod~~InheritsGraph type~esmf_testmethod ESMF_TestMethod type~esmf_testcase ESMF_TestCase type~esmf_testmethod->type~esmf_testcase ESMF_GridComp ESMF_GridComp type~esmf_testcase->ESMF_GridComp gc MpiTestCase MpiTestCase type~esmf_testcase->MpiTestCase type~internalstate InternalState type~esmf_testcase->type~internalstate wrapped type~wrapper Wrapper type~internalstate->type~wrapper wrapped type~wrapper->type~esmf_testcase testPtr

Components

Type Visibility Attributes Name Initial
integer, public :: val = 3
procedure(esmfMethod), public, pointer :: userMethod => null()
procedure(esmfMethod), public, pointer :: userSetUp => null()
procedure(esmfMethod), public, pointer :: userTearDown => null()
type(ESMF_GridComp), public, pointer :: gc => null()
type(InternalState), public, pointer :: wrapped

Constructor

public interface Esmf_TestMethod

  • private function newEsmf_TestMethod_basic(name, userMethod, numPETs) result(esmf_Test)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: name
    procedure(runMethod) :: userMethod
    integer, intent(in) :: numPETs

    Return Value type(ESMF_TestMethod), target

  • private function newEsmf_TestMethod_setUpTearDown(name, userMethod, numPETs, setUp, tearDown) result(esmf_Test)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: name
    procedure(runMethod) :: userMethod
    integer, intent(in) :: numPETs
    procedure(runMethod) :: setUp
    procedure(runMethod) :: tearDown

    Return Value type(ESMF_TestMethod), target


Type-Bound Procedures

procedure, public :: barrier

  • private subroutine barrier(this)

    Arguments

    Type IntentOptional Attributes Name
    class(ESMF_TestCase), intent(in) :: this

procedure, public :: clearInternalState

  • private subroutine clearInternalState(this, gc, rc)

    $ call ESMF_GridCompDestroy(gc, rc=status) $ if (status /= ESMF_SUCCESS) then $ rc = status $ return $ end if

    Arguments

    Type IntentOptional Attributes Name
    class(ESMF_TestCase), intent(inout) :: this
    type(ESMF_GridComp), intent(inout) :: gc
    integer, intent(out) :: rc

procedure, public :: getLocalPET

  • private function getLocalPET(this) result(localPET)

    Arguments

    Type IntentOptional Attributes Name
    class(ESMF_TestCase), intent(in) :: this

    Return Value integer

procedure, public :: getNumPETsRequested

  • private function getNumPETsRequested(this) result(numPETsRequested)

    Arguments

    Type IntentOptional Attributes Name
    class(ESMF_TestCase), intent(in) :: this

    Return Value integer

procedure, public :: getPetCount

  • private function getPetCount(this) result(petCount)

    Arguments

    Type IntentOptional Attributes Name
    class(ESMF_TestCase), intent(in) :: this

    Return Value integer

procedure, public :: getVM

  • private function getVM(this) result(vm)

    Arguments

    Type IntentOptional Attributes Name
    class(ESMF_TestCase), intent(in) :: this

    Return Value type(ESMF_VM)

procedure, public :: runBare

  • private recursive subroutine runBare(this)

    Arguments

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

procedure, public :: runMethod

  • private subroutine runMethod(this)

    Arguments

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

procedure, public :: setInternalState

  • private subroutine setInternalState(this, gc, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(ESMF_TestCase), intent(inout), target :: this
    type(ESMF_GridComp), intent(inout) :: gc
    integer, intent(out) :: rc

procedure, public :: setUp

  • private subroutine setUp(this)

    Arguments

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

procedure, public :: tearDown

  • private subroutine tearDown(this)

    Arguments

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

Source Code

   type, extends(ESMF_TestCase) :: ESMF_TestMethod
      procedure(esmfMethod), pointer :: userMethod => null()
      procedure(esmfMethod), pointer :: userSetUp => null()
      procedure(esmfMethod), pointer :: userTearDown => null()
   contains
      procedure :: runMethod
      procedure :: setUp
      procedure :: tearDown
   end type ESMF_TestMethod