assert-equal.jam
来自「C++的一个好库。。。现在很流行」· JAM 代码 · 共 30 行
JAM
30 行
# Evaluates [ rulename arg1... : arg2... : ... : argN... ] and compares the
# result to expected-results. If there is a mismatch, prints an error message
# and exits.
rule assert-equal ( expected-results *
: rulename a1 * : a2 * : a3 * : a4 * : a5 * : a6 * : a7 * : a8 * : a9 * )
{
local results = [ $(rulename) $(a1) : $(a2) : $(a3)
: $(a4) : $(a5) : $(a6) : $(a7) : $(a8) ] ;
if $(results) != $(expected-results)
{
EXIT ******ASSERTION FAILURE******* "
[ $(rulename) " $(a1)
": "$(a2[1]) $(a2[2-])
": "$(a3[1]) $(a3[2-])
": "$(a4[1]) $(a4[2-])
": "$(a5[1]) $(a5[2-])
": "$(a6[1]) $(a6[2-])
": "$(a7[1]) $(a7[2-])
": "$(a8[1]) $(a8[2-]) "]
expected:
(" $(expected-results) ")
result was:
(" $(results) ")"
;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?