forunittest Module


Uses

  • module~~forunittest~~UsesGraph module~forunittest forunittest iso_fortran_env iso_fortran_env module~forunittest->iso_fortran_env

Used by

  • module~~forunittest~~UsedByGraph module~forunittest forunittest program~demo_forunittest demo_forunittest program~demo_forunittest->module~forunittest program~demo_old demo_old program~demo_old->module~forunittest program~test1 test1 program~test1->module~forunittest program~test2 test2 program~test2->module~forunittest

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: ik = int32
integer, public, parameter :: rk = selected_real_kind(15)

Derived Types

type, public ::  unit_test

Components

Type Visibility Attributes Name Initial
character(len=64), private :: group
character(len=64), private :: msg
character(len=64), private :: name
logical, private :: result = .false.
logical, private :: silent = .false.

Type-Bound Procedures

generic, public :: check => unit_test_r0, unit_test_r1, unit_test_r2, unit_test_i0, unit_test_i1, unit_test_i2, unit_test_l0, unit_test_l1, unit_test_l2, unit_test_cx0, unit_test_cx1, unit_test_cx2
procedure, private :: print_msg
procedure, private :: set_silent
procedure, private :: unit_test_cx0
procedure, private :: unit_test_cx1
procedure, private :: unit_test_cx2
procedure, private :: unit_test_i0
procedure, private :: unit_test_i1
procedure, private :: unit_test_i2
procedure, private :: unit_test_l0
procedure, private :: unit_test_l1
procedure, private :: unit_test_l2
procedure, private :: unit_test_r0
procedure, private :: unit_test_r1
procedure, private :: unit_test_r2

type, public ::  unit_tests

Components

Type Visibility Attributes Name Initial
type(unit_test), public, allocatable :: test(:)
integer, private :: n = 0

Type-Bound Procedures

procedure, public :: initialize
procedure, public :: summary

Subroutines

private subroutine initialize(this, n)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_tests), intent(inout) :: this
integer, intent(in) :: n

private subroutine print_msg(this, result)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
logical, intent(in) :: result

private elemental subroutine set_silent(this)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

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

private subroutine summary(this, required_score, verbose, stop_fail)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_tests), intent(inout) :: this
real, intent(in) :: required_score
integer, intent(in), optional :: verbose
logical, intent(in), optional :: stop_fail

private subroutine unit_test_cx0(this, res, expected, tol, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
complex(kind=rk), intent(in) :: res
complex(kind=rk), intent(in) :: expected
real(kind=rk), intent(in), optional :: tol
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_cx1(this, res, expected, tol, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
complex(kind=rk), intent(in), dimension(:) :: res
complex(kind=rk), intent(in), dimension(:) :: expected
real(kind=rk), intent(in), optional :: tol
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_cx2(this, res, expected, tol, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
complex(kind=rk), intent(in), dimension(:,:) :: res
complex(kind=rk), intent(in), dimension(:,:) :: expected
real(kind=rk), intent(in), optional :: tol
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_i0(this, res, expected, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
integer, intent(in) :: res
integer, intent(in) :: expected
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_i1(this, res, expected, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
integer, intent(in), dimension(:) :: res
integer, intent(in), dimension(:) :: expected
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_i2(this, res, expected, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
integer, intent(in), dimension(:,:) :: res
integer, intent(in), dimension(:,:) :: expected
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_l0(this, res, expected, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
logical, intent(in) :: res
logical, intent(in) :: expected
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_l1(this, res, expected, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
logical, intent(in), dimension(:) :: res
logical, intent(in), dimension(:) :: expected
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_l2(this, res, expected, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
logical, intent(in), dimension(:,:) :: res
logical, intent(in), dimension(:,:) :: expected
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_r0(this, res, expected, tol, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
real(kind=rk), intent(in) :: res
real(kind=rk), intent(in) :: expected
real(kind=rk), intent(in), optional :: tol
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_r1(this, res, expected, tol, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
real(kind=rk), intent(in), dimension(:) :: res
real(kind=rk), intent(in), dimension(:) :: expected
real(kind=rk), intent(in), optional :: tol
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group

private subroutine unit_test_r2(this, res, expected, tol, msg, name, group)

Author
Seyed Ali Ghasemi
License
BSD 3-Clause

Arguments

Type IntentOptional Attributes Name
class(unit_test), intent(inout) :: this
real(kind=rk), intent(in), dimension(:,:) :: res
real(kind=rk), intent(in), dimension(:,:) :: expected
real(kind=rk), intent(in), optional :: tol
character(len=*), intent(in), optional :: msg
character(len=*), intent(in), optional :: name
character(len=*), intent(in), optional :: group