assert_checkequal
計算値と予測値が等しいことを確認する.
呼び出し手順
assert_checkequal ( computed , expected ) flag = assert_checkequal ( computed , expected ) [flag,errmsg] = assert_checkequal ( computed , expected )
パラメータ
- computed:
計算結果
- expected :
予測された結果
- flag :
1行1列の論理値行列で, 計算値が予測値と等しい場合に%t,そうでない場合に%f
- errmsg :
1行1列の文字列行列で,エラーメッセージ. flag==%t の場合, errormsg==""となります. flag==%f の場合, errmsgにはエラーメッセージが出力されます.
説明
computedとexpectedが等しい場合,そのまま実行されます.
For complex numbers: まず実部を確認し,それが等しい場合に虚部を確認します.
Matching Nan values are always considered equal.
1/%z
and 2/(2*%z)
are not equal: For the time
being, Scilab does not normalize equivalent rationals.
In containers, matching void
elements are considered equal.
比較がcomputedがexpectedに等しくないことを示す場合,
errmsg出力変数が使用されない場合,エラーが生成され,
errmsg出力変数が使用される場合,エラーは生成されません.
例
成功するテスト:
assert_checkequal ( %T , %T ); [flag , errmsg] = assert_checkequal ( [%T %F], [%T %F] ); assert_checkequal ( %nan , %nan ); c = complex(1, %nan) assert_checkequal (c, c); assert_checkequal ( sparse(%nan) , sparse(%nan) ); assert_checkequal ( 2:$-1, 2:$-1 ); assert_checkequal ( ["abc" "" ascii([9 10 13])], ["abc" "" ascii([9 10 13])] ); assert_checkequal ( [gdf(), gda()], [gdf(), gda()]); assert_checkequal ( list() , list() ); assert_checkequal ( list(1,,3), list(1,,3) ); assert_checkequal ( list(1,,list(,4)), list(1,,list(,4)) ); assert_checkequal ( list(%nan,,7) , list(%nan,,7) ); sine = sin; assert_checkequal ( sin, sine ); cosinus = cosd; assert_checkequal ( cosinus, cosd ); assert_checkequal( iolib, iolib );
失敗するテスト:
assert_checkequal ( %F , %T ); flag = assert_checkequal ( %F , %T ); // エラーは発生しません : [flag , errmsg] = assert_checkequal ( %F , %T ) assert_checkequal ( [1 2], [3 4] ) assert_checkequal ( 1 , [2 3] ) assert_checkequal ( 1 , "b" ) assert_checkequal ( "b", "B" ) assert_checkequal ( 1+%s, 1+%z ) assert_checkequal ( 1/%s, 2/(2*%s) ) assert_checkequal (list(2,,7), list(2,%F,8)); assert_checkequal ( [gdf(), gda()], [gdf(), gdf()] ); assert_checkequal ( sind, cosd ); assert_checkequal ( iolib, corelib );
... --> assert_checkequal (list(2,,7), list(2,%F,8)); at line 22 of function assert_generror ( SCI\modules\..\assert_generror.sci line 33 ) at line 178 of function assert_checkequal ( SCI\modules\..\assert_checkequal.sci line 190 ) assert_checkequal: Assertion failed: expected(2)= F while computed(2)= (void) --> assert_checkequal ( [gdf(), gda()], [gdf(), gdf()] ); at line 22 of function assert_generror ( SCI\modules\..\assert_generror.sci line 33 ) at line 178 of function assert_checkequal ( SCI\modules\..\assert_checkequal.sci line 190 ) assert_checkequal: Assertion failed: expected(2)= Figure(uid:55) while computed(2)= Axes(uid:85) --> assert_checkequal ( sind, cosd ); at line 22 of function assert_generror ( SCI\modules\..\assert_generror.sci line 33 ) at line 82 of function assert_checkequal ( SCI\modules\..\assert_checkequal.sci line 94 ) assert_checkequal: Assertion failed: expected= cosd() while computed= sind() --> assert_checkequal ( iolib, corelib ); at line 22 of function assert_generror ( SCI\modules\..\assert_generror.sci line 33 ) at line 95 of function assert_checkequal ( SCI\modules\..\assert_checkequal.sci line 107 ) assert_checkequal: Assertion failed: expected= lib@SCI\modules\core\macros\ while .. computed= lib@SCI\modules\io\macros\
参考文献
"Automated Software Testing for Matlab", Steven Eddins, 2009
履歴
バージョン | 記述 |
5.4.0 | 関数が導入されました |
6.1.0 |
|
6.1.1 | Matching NaN or void elements in simple or nested containers are now considered equal. |
Report an issue | ||
<< assert_checkalmostequal | Assert | assert_checkerror >> |