Difference between revisions of "Test-Suite Template"

From ApCoCoAWiki
Line 44: Line 44:
 
     "numavi",
 
     "numavi",
 
     "yourpackage"];
 
     "yourpackage"];
 +
 +
==Functions that are useful for testing==
 +
For some packages, especially the numerical packages, the testfunction doesn't work very good, because you have to give the exact output-string, which can vary at different computers. For such packages there are some functions, which are listed below:

Revision as of 16:08, 8 October 2009

Testing an ApCoCoA-Package

This page explains how to create a test-suite for your package. Testing is important to make sure, that your package is still working correctly, when something in ApCoCoA or the ApCoCoALib changes.

A template for a test-suite

Your test should be named like the corresponding package and file ending should be .ts

 -- Test suite for "package name" 
------------------------------- -- TEST 01:
Test := Record[Id = "package_01", Descr = "your description"];
Test.Input :=" CoCoAL-code to test ";
Test.ExpectedOutput :=" Output of ApCoCoA after executing the code above ";
TSL.RegisterTest(Test);
------------------------------- -- TEST 02:
Test := Record[Id = "package_02", Descr = "your description"];
Test.Input :=" CoCoAL-code to test ";
Test.ExpectedOutput :=" Output of ApCoCoA after executing the code above ";
TSL.RegisterTest(Test); ------------------------------- ...

Adding your test-suite to the file apcocoats.cpkg

To add your new test to the complete ApCoCoA-test-suite, you have to add some lines to the file apcocoats.cpkg, This file can be found in the /apcocoa/ts directory. Insert the name of the testet package into the list "RegisteredTests":

 RegisteredTests :=  ["glpk",
   "latte",
   "borderbasis",
   "linalg",
   "linbox",
   "iml",
   "fglm",
   "numabm",
   "numbasics",
   "numavi",
   "yourpackage"];

Functions that are useful for testing

For some packages, especially the numerical packages, the testfunction doesn't work very good, because you have to give the exact output-string, which can vary at different computers. For such packages there are some functions, which are listed below: