| Class | dc_test |
| In: |
dc_test.f90
|
Note that Japanese and English are described in parallel.
Fortran 90/95 におけるテストプログラム作成を補助するための モジュールです.
オブジェクト指向スクリプト言語 Ruby の Test::Unit クラス の機能の一部を模倣しています.
This module supports making Fortran 90/95 test programs.
A part of Test::Unit class in Object-oriented programming language Ruby is imitated.
| AssertEqual : | 正答とチェックすべき値が等しいことをチェックする. |
| AssertGreaterThan : | ある値よりもチェックすべき値が大きいことをチェックする. |
| AssertLessThan : | ある値よりもチェックすべき値が小さいことをチェックする. |
| ———— : | ———— |
| AssertEqual : | It is verified that a examined value is equal to a right answer. |
| AssertGreaterThan : | It is verified that examined value is greater than a certain value. |
| AssertLessThan : | It is verified that examined value is less than a certain value. |
AssertEqual サブルーチンの使用例として, 以下に簡単な テストプログラムを記します. message にはテストプログラムを実行した際に表示する 任意の長さの文字列を与えます. そして, answer には正答を, check には照合すべき値を与えます. answer と check にはそれぞれ文字型, 整数型, 単精度実数型, 倍精度実数型, 論理型の変数および 配列 (1 〜 7次元) を与えることができます. 2 つの引数の型および次元数は一致している必要があります.
A simple test program is showed as an example of how "AssertEqual" subroutine is used as follows. Give arbitrary length string to message. This string is displayed when the test program is execute. And give the right answer to answer, examined value to check. Character, integer, simple precision real, double precision real, logical variables and arrays (rank 1 - 7) are allowed to give to answer and check. The types of answer and check must be same.
program test
use dc_test, only: AssertEqual
implicit none
character(32):: str1
real:: r1(2)
str1 = 'foo'
r1 = (/ 1.0, 2.0 /)
call AssertEqual(message='String test', answer='foo', check=str1)
call AssertEqual(message='Float test', &
& answer=(/1.0, 2.0/), check=r1)
end program test
check と answer との値, および配列のサイズが一致する場合に テストプログラムは「Checking <message に与えられた文字> OK」 というメッセージを表示します. プログラムは続行します. AssertEqual の代わりに AssertGreaterThan を使用する場合には check が answer よりも大きい場合, AssertLessThan を使用する場合には check が answer よりも小さい場合に プログラムは続行します.
一方で answer と check の値, もしくは配列のサイズが異なる場合には, テストプログラムは「Checking <message に与えられた文字> FAILURE」 というメッセージを表示します. プログラムはエラーを発生させて終了します. AssertEqual の代わりに AssertGreaterThan を使用する場合には check が answer よりも大きくない場合, AssertLessThan を使用する場合には check が answer よりも 小さくない場合にプログラムは終了します.
When the values and array sizes of check and answer are same, the test program displays a message "Checking <string given to message> OK", and the program continues. Using "AssertGreaterThan" instead of "AssertEqual", the program continues when check is greater than answer. Using "AssertLessThan", the program continues when check is less than answer.
On the other hand, when the values or array sizes of check and answer are different, the test program displays a message "Checking <string given to message> FAILURE", and the program aborts. Using "AssertGreaterThan" instead of "AssertEqual", the program aborts when check is not greater than answer. Using "AssertLessThan", the program aborts when check is not less than answer.
単精度実数型, 倍精度実数型同士の比較において, 丸め誤差や情報落ち誤差を考慮したい場合には, 引数 significant_digits, ignore_digits に整数型を与えてください. significant_digits には有効数字の桁数を, ignore_digits には 無視するオーダーを与えます. 以下の例では, 有効数字の桁数を 7 とし, 1.0e-6 以下の数値を無視して値の比較を行っています.
About comparison of single precision reals or double precision reals, in order to consider rounding errors and information loss errors, specify integer to significant_digits, ignore_digits arguments. Specify significant digits to significant_digits, and negligible order to ignore_digits. In the following example, significant digits is 7, and numerical value less than 1.0e-6 is ignored.
program test2
use dc_test, only: AssertEqual
implicit none
real:: numd1(2,3)
numd1 = reshape((/-19.432, 75.3, 3.183, &
& 0.023, -0.9, 328.2/), &
& (/2,3/))
call AssertEqual( 'Float (single precision) test', &
& answer = numd1, &
& check = ( numd1 / 3.0 ) * 3.0, &
& significant_digits = 7, ignore_digits = -6 )
end program test2
比較される answer の値と check の値が両方とも負の場合, AssertGreaterThan および AssertLessThan は 2 つの値の絶対値の 比較を行います. エラーメッセージは以下のようになります. オプショナル引数 negative_support に .false. を与える場合, 絶対値での比較を行いません.
"AssertGreaterThan" and "AssertLessThan" compare absolute values of answer and check when both compared two values are negative. In this case, error message is as follows. When an optional argument negative_support is .false., the comparison with absolute values is not done.
ABSOLUTE value of check(14,1) = -1.189774221E-09
is NOT LESS THAN
ABSOLUTE value of answer(14,1) = -1.189774405E-09
使用例は以下の通りです.
Example of use is showed as follows.
program test_sample
use dc_types, only: STRING, DP
use dc_test, only: AssertEqual, AssertGreaterThan, AssertLessThan
implicit none
character(STRING):: str1, str2
real:: r1(2)
integer:: int1
real:: numr1(2)
real(DP):: numd1(2,3), numd2(2,3)
logical:: y_n
continue
str1 = 'foo'
r1 = (/ 1.0_DP, 2.0_DP /)
call AssertEqual( message = 'String test', answer = 'foo', check = str1 )
call AssertEqual( message = 'Float test', &
& answer = (/1.0e0, 2.0e0/), check = r1 )
str2 = "foo"
call AssertEqual( 'Character test', answer = 'foo', check = str2 )
int1 = 1
call AssertEqual( 'Integer test', answer = 1, check = int1 )
numr1(:) = (/ 0.001235423, 0.248271 /)
call AssertGreaterThan( 'Float test 1', &
& answer = (/ 0.00061771142, 0.1241354 /), check = numr1 / 2.0 )
call AssertLessThan( 'Float test 2', &
& answer = (/ 0.00061771158, 0.1241358 /), check = numr1 / 2.0 )
y_n = .true.
call AssertEqual( 'Logical test', answer = .true., check = y_n )
numd1 = reshape( (/ -19.432_DP, 75.3_DP, 3.183_DP, &
& 0.023_DP, -0.9_DP, 328.2_DP /), &
& (/ 2,3 /) )
call AssertGreaterThan( 'Double precision test 1', &
& answer = reshape( (/ -38.8639_DP, 150.5999_DP, 6.365999_DP, &
& 0.0459999_DP, -1.7999_DP, 656.3999_DP /), &
& (/ 2,3 /) ), &
& check = numd1*2.0_DP )
call AssertLessThan( 'Double precision test 2', &
& answer = reshape( (/ -38.86401_DP, 150.60001_DP, 6.3660001_DP, &
& 0.04600001_DP, -1.8000001_DP, 656.6_DP /), &
& (/ 2,3 /) ), &
& check = numd1*2.0_DP, negative_support=.true. )
call AssertEqual( 'Double precision test 3', &
& answer = numd1, &
& check = ( numd1 / 3.0_DP ) * 3.0_DP, &
& significant_digits = 10, ignore_digits = -10 )
numd2 = reshape( (/ 19.4e+7_DP, 75.3_DP, 3.18e-7_DP, &
& 0.023e-7_DP, 0.9e+7_DP, 328.2_DP /), &
& (/ 2,3 /) )
call AssertEqual( 'Double precision test 4', &
& answer = numd2, &
& check = ( ( ( numd2 + 0.008_DP - 0.008_DP ) / 1.5_DP ) * 3.0_DP ) / 2.0_DP, &
& significant_digits = 10, ignore_digits = -15 )
call AssertEqual( 'Double precision test 5', &
& answer = numd2, &
& check = ( ( ( numd2 + 0.008_DP - 0.008_DP ) / 1.5_DP ) * 3.0_DP ) / 2.0_DP, &
& significant_digits = 15, ignore_digits = -19 )
end program test_sample
上記の例では, 最後のテストで敢えて小さすぎる値を無視するオーダー として設定しているため, 以下のようなメッセージを出力して プログラムは強制終了します.
In above example, too small negligible order is specified on purpose in the last test. Then the program displays a following message, and aborts.
*** MESSAGE [AssertEQ] *** Checking String test OK
*** MESSAGE [AssertEQ] *** Checking Float test OK
*** MESSAGE [AssertEQ] *** Checking Character test OK
*** MESSAGE [AssertEQ] *** Checking Integer test OK
*** MESSAGE [AssertGT] *** Checking Float test 1 OK
*** MESSAGE [AssertLT] *** Checking Float test 2 OK
*** MESSAGE [AssertEQ] *** Checking Logical test OK
*** MESSAGE [AssertGT] *** Checking Double precision test 1 OK
*** MESSAGE [AssertLT] *** Checking Double precision test 2 OK
*** MESSAGE [AssertEQ] *** Checking Double precision test 3 OK
*** MESSAGE [AssertEQ] *** Checking Double precision test 4 OK
*** Error [AssertEQ] *** Checking Double precision test 5 FAILURE
check(1,2) = 3.179999999991523E-07
is NOT EQUAL to
3.179999999998997E-07 <
answer(1,2) < 3.180000000001004E-07
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | character(*), intent(in) |
| check : | character(*), intent(in) |
Alias for DCTestAssertEqualChar0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | integer, intent(in) |
| check : | integer, intent(in) |
Alias for DCTestAssertEqualInt0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | logical, intent(in) |
| check : | logical, intent(in) |
Alias for DCTestAssertEqualLogical0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | real(DP), intent(in) |
| check : | real(DP), intent(in) |
Alias for DCTestAssertEqualDouble0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | real, intent(in) |
| check : | real, intent(in) |
Alias for DCTestAssertEqualReal0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | character(*), intent(in) |
| check(:) : | character(*), intent(in) |
Alias for DCTestAssertEqualChar1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | integer, intent(in) |
| check(:) : | integer, intent(in) |
Alias for DCTestAssertEqualInt1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | logical, intent(in) |
| check(:) : | logical, intent(in) |
Alias for DCTestAssertEqualLogical1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | real(DP), intent(in) |
| check(:) : | real(DP), intent(in) |
Alias for DCTestAssertEqualDouble1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | real, intent(in) |
| check(:) : | real, intent(in) |
Alias for DCTestAssertEqualReal1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | character(*), intent(in) |
| check(:,:) : | character(*), intent(in) |
Alias for DCTestAssertEqualChar2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | integer, intent(in) |
| check(:,:) : | integer, intent(in) |
Alias for DCTestAssertEqualInt2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | logical, intent(in) |
| check(:,:) : | logical, intent(in) |
Alias for DCTestAssertEqualLogical2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | real(DP), intent(in) |
| check(:,:) : | real(DP), intent(in) |
Alias for DCTestAssertEqualDouble2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | real, intent(in) |
| check(:,:) : | real, intent(in) |
Alias for DCTestAssertEqualReal2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | character(*), intent(in) |
| check(:,:,:) : | character(*), intent(in) |
Alias for DCTestAssertEqualChar3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | integer, intent(in) |
| check(:,:,:) : | integer, intent(in) |
Alias for DCTestAssertEqualInt3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | logical, intent(in) |
| check(:,:,:) : | logical, intent(in) |
Alias for DCTestAssertEqualLogical3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | real(DP), intent(in) |
| check(:,:,:) : | real(DP), intent(in) |
Alias for DCTestAssertEqualDouble3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | real, intent(in) |
| check(:,:,:) : | real, intent(in) |
Alias for DCTestAssertEqualReal3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | character(*), intent(in) |
| check(:,:,:,:) : | character(*), intent(in) |
Alias for DCTestAssertEqualChar4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:) : | integer, intent(in) |
Alias for DCTestAssertEqualInt4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | logical, intent(in) |
| check(:,:,:,:) : | logical, intent(in) |
Alias for DCTestAssertEqualLogical4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:) : | real(DP), intent(in) |
Alias for DCTestAssertEqualDouble4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | real, intent(in) |
| check(:,:,:,:) : | real, intent(in) |
Alias for DCTestAssertEqualReal4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | character(*), intent(in) |
| check(:,:,:,:,:) : | character(*), intent(in) |
Alias for DCTestAssertEqualChar5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:,:) : | integer, intent(in) |
Alias for DCTestAssertEqualInt5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | logical, intent(in) |
| check(:,:,:,:,:) : | logical, intent(in) |
Alias for DCTestAssertEqualLogical5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:) : | real(DP), intent(in) |
Alias for DCTestAssertEqualDouble5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:) : | real, intent(in) |
Alias for DCTestAssertEqualReal5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | character(*), intent(in) |
| check(:,:,:,:,:,:) : | character(*), intent(in) |
Alias for DCTestAssertEqualChar6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:,:,:) : | integer, intent(in) |
Alias for DCTestAssertEqualInt6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | logical, intent(in) |
| check(:,:,:,:,:,:) : | logical, intent(in) |
Alias for DCTestAssertEqualLogical6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:,:) : | real(DP), intent(in) |
Alias for DCTestAssertEqualDouble6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:,:) : | real, intent(in) |
Alias for DCTestAssertEqualReal6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | character(*), intent(in) |
| check(:,:,:,:,:,:,:) : | character(*), intent(in) |
Alias for DCTestAssertEqualChar7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:,:,:,:) : | integer, intent(in) |
Alias for DCTestAssertEqualInt7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | logical, intent(in) |
| check(:,:,:,:,:,:,:) : | logical, intent(in) |
Alias for DCTestAssertEqualLogical7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:,:,:) : | real(DP), intent(in) |
Alias for DCTestAssertEqualDouble7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:,:,:) : | real, intent(in) |
Alias for DCTestAssertEqualReal7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | real(DP), intent(in) |
| check : | real(DP), intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualDouble0Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | real, intent(in) |
| check : | real, intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualReal0Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | real(DP), intent(in) |
| check(:) : | real(DP), intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualDouble1Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | real, intent(in) |
| check(:) : | real, intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualReal1Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | real(DP), intent(in) |
| check(:,:) : | real(DP), intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualDouble2Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | real, intent(in) |
| check(:,:) : | real, intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualReal2Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | real(DP), intent(in) |
| check(:,:,:) : | real(DP), intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualDouble3Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | real, intent(in) |
| check(:,:,:) : | real, intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualReal3Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:) : | real(DP), intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualDouble4Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | real, intent(in) |
| check(:,:,:,:) : | real, intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualReal4Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:) : | real(DP), intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualDouble5Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:) : | real, intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualReal5Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:,:) : | real(DP), intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualDouble6Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:,:) : | real, intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualReal6Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:,:,:) : | real(DP), intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualDouble7Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:,:,:) : | real, intent(in) |
| significant_digits : | integer, intent(in) |
| ignore_digits : | integer, intent(in) |
Alias for DCTestAssertEqualReal7Digits
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | integer, intent(in) |
| check : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanInt0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | real(DP), intent(in) |
| check : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanDouble0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | real, intent(in) |
| check : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanReal0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | integer, intent(in) |
| check(:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanInt1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | real(DP), intent(in) |
| check(:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanDouble1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | real, intent(in) |
| check(:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanReal1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | integer, intent(in) |
| check(:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanInt2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | real(DP), intent(in) |
| check(:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanDouble2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | real, intent(in) |
| check(:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanReal2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | integer, intent(in) |
| check(:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanInt3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | real(DP), intent(in) |
| check(:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanDouble3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | real, intent(in) |
| check(:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanReal3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanInt4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanDouble4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | real, intent(in) |
| check(:,:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanReal4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanInt5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanDouble5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanReal5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanInt6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanDouble6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanReal6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:,:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanInt7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanDouble7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertGreaterThanReal7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | integer, intent(in) |
| check : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanInt0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | real(DP), intent(in) |
| check : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanDouble0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | real, intent(in) |
| check : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanReal0
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | integer, intent(in) |
| check(:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanInt1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | real(DP), intent(in) |
| check(:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanDouble1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:) : | real, intent(in) |
| check(:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanReal1
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | integer, intent(in) |
| check(:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanInt2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | real(DP), intent(in) |
| check(:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanDouble2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:) : | real, intent(in) |
| check(:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanReal2
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | integer, intent(in) |
| check(:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanInt3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | real(DP), intent(in) |
| check(:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanDouble3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:) : | real, intent(in) |
| check(:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanReal3
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanInt4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanDouble4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:) : | real, intent(in) |
| check(:,:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanReal4
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanInt5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanDouble5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanReal5
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanInt6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanDouble6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanReal6
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | integer, intent(in) |
| check(:,:,:,:,:,:,:) : | integer, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanInt7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | real(DP), intent(in) |
| check(:,:,:,:,:,:,:) : | real(DP), intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanDouble7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer(:,:,:,:,:,:,:) : | real, intent(in) |
| check(:,:,:,:,:,:,:) : | real, intent(in) |
| negative_support : | logical, intent(in), optional |
Alias for DCTestAssertLessThanReal7
| Subroutine : | |
| message : | character(*), intent(in) |
| answer : | character(*), intent(in) |
| check : | character(*), intent(in) |
subroutine DCTestAssertEqualChar0(message, answer, check)
use sysdep, only: AbortProgram
use dc_types, only: STRING, TOKEN
implicit none
character(*), intent(in):: message
character(*), intent(in):: answer
character(*), intent(in):: check
logical:: err_flag
character(STRING):: pos_str
character(STRING):: wrong, right