Tests

Revision as of 18:40, 29 November 2011 by Carandraug (talk | contribs) (added link for octave manual)

Writing tests for function is an important thing that is usually overlooked. It helps a lot in preventing regression. There's a section in the [manual] for it.

Writing tests

in .m files

in .cc files

declaring functions inside a test block

function experience
%!test
%! experience_design_mat
%! experience_obs_eqs
%! assert (experience_design_mat == pi);
%! assert (experience_obs_eqs == exp(1));
%!
%! endfunction  % this is a trick.
%! % now we can declare functions to be used by the test above.
%!
%! function a = experience_design_mat 
%!     a = pi;
%! endfunction
%!
%! function b = experience_obs_eqs
%!     b = exp(1);
%! % endfunction: don't add it here. Let test() do it.

running tests

from m files

from .cc files

You can run tests in .cc files by doing something like

 test /full/path/to/file.cc