facilitate the creation of Maple code test suites - Maple Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Programming : CodeTools : CodeTools/Test

CodeTools[Test] - facilitate the creation of Maple code test suites

Calling Sequence

Test( input, expected)

Test( input, expected, verification)




expression to be evaluated for correctness



expected result of evaluation of input



expression of type verification, or one of the names testerror or testnoerror, or a procedure which returns type/verify similar to the verify command.



The CodeTools[Test] command is a front-end utility used for the creation and verification of a suite of Maple test projects.  By default it returns a NULL result if the test succeeds and an error if the test fails.


If only input and expected are given, the input is evaluated using verify and compared against the expected result.


If input is a string, it will be parsed using parse.


If the expected output is an expression sequence, then input and expected should each be enclosed in a list.


If the third argument type is a verification expression then it is passed as a third verify argument for testing.


The CodeTools[Test] command knows about two special verifications:


testnoerror ignores the expected parameter and causes the test to fail when there is an exception during the evaluation of input.


testerror is nearly the opposite of testnoerror and causes the test to pass only if there is an exception during the evaluation, and expected is a string that matches the error message prefix.


If the third argument is not a verification  type or not one of above mentioned special verifiers, then it must be a procedure with a type/verify return.


If more than three parameters are passed to "Test" , the others are passed as addition arguments to the specified verifier.





Tests that pass.

Testintx,x2,integration range or variable must,'testerror',label=Test Pass 1

Test Pass 1 passed

Testintx,x2,,'testerror',label=Test Pass 2

Test Pass 2 passed

Test∫x2ⅆx,,'testnoerror',label=Test Pass 3

Test Pass 3 passed

Test∫xⅆx,x22,label=Test Pass 4

Test Pass 4 passed

Test∫xⅆx,x22,'simplify',label=Test Pass 5,'boolout'

Test Pass 5 passed



Tests that fail.

Test∫x2ⅆx,integration range or variable must,testerror,label=Test Fail 1

Test Fail 1 failed
 Expected error but did not receive one

Error, (in CodeTools:-Test) TEST FAILED: Test Fail 1

Testintx,x2,,'testnoerror',label=Test Fail 2

Test Fail 2 failed
 Expected no errors, but got:
 Error, integration range or variable must be specified in the second argument, got x^2

Error, (in CodeTools:-Test) TEST FAILED: Test Fail 2

Test∫xⅆx,x24,'simplify',label=Test Fail 3

Test Fail 3 failed
 Expected result : 1/4*x^2
 Evaluated result: 1/2*x^2

Error, (in CodeTools:-Test) TEST FAILED: Test Fail 3

Test∫xⅆx,x22,label=Test Fail 4,'boolout'

Test Fail 4 failed
 Expected result : x^2/sqrt(2)^2
 Evaluated result: 1/2*x^2



The boolout and quiet options work well together.







See Also

CodeTools, type/verification, type/verify, verify

Download Help Document

Was this information helpful?

Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam