On Wed, Jun 28, 2023 at 03:57:47PM +0200, Grégory Vanuxem wrote: > Hello, > > I'm wondering why there is only String parameters based routines in > Unittest. What I mean is that from what I have seen the argument(s) to all > routines are of type String: > ================================== > testLibraryError : String -> Void > testTrue : String -> Void > xftestTrue : String -> Void ... > =================================== > > I can understand that, for example Expression(Integer), it is usually the > simplest way to check correctness but I am wondering why there is only this > method.
There is one basic reason. Assume we just pass arguments in "normal" way to counting routines. If there is an error in an argument to counting routine then execution is aborted _before_ call to counting routine. So, to get consistent counts arguments to counting routines must be "foolproof", that is should never cause errors. The way we use is to pass strings, whatever its content string is a valid argument and can not cause errors. If _execution_ of string causes error, then counting routine will notice this and count test as failed. In principle some (maybe many) tests have arguments that should never cause errors, so it would be possible to use non-string form for them. But it is simpler and more reliable to always use string form. > I explain. I'm continuing to implement a "simple" wrapper to parts of > Julia. And since all computations are done inside Julia and since this is > essentially Float64 based I'm wondering if for my purpose I could provide > my routines which are Julia based and returns Boolean values. > > In other words, what I would like is to add to the Unittest framework, at > least, a simple routine say "isTrue" for example but handled by another > module or even coded in the input file. I insist on using the actual > framework with use of UnittestAux and UnittestCount routines I guess. Well isTrue(passes_test()) would treat error in 'passes_test()' the same as if 'passes_test()' was not called at all. OTOH testTrue("passes_test()") will notice and report error in execution of 'passes_test()'. -- Waldek Hebisch -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/ZJxGeK9Fpq%2BPhtHP%40fricas.math.uni.wroc.pl.