AFAICS the expected results are OK. However, the various tests
are quite repetitive.
Well, they are. It seems, you want them in just one file.
OK, I can reorganize them.
In stream case TESTLIBRARYERROR(A, B) probably should
expand to testLibraryError(entries complete x(" A ")"), that
is force computation.
I do not quite understand. If x is an infinite stream and I call for
entries complete x(2..), then the test will run forever.
For infinite streams I wanted to test for an immediate error, because
either the stepsize is 0 or we know from the segment that eventually it
will hit a point below minIndex of the stream, i.e. < 1.
Also, for better coverage we probably should have test like
this:
s := ...;
testEquals("s(3)", "42")
testLibrarryError("s(4)")
(this may require low enough setting for 'stream calculate').
Adding such a testcase explicitly says that it is OK to apply a segment
that eventually leads to an "error" index as long as the user does not
hit such an index. I am not so sure whether I would (via explicit
testcase) build it into the specification. I would rather like to leave
it open so a user cannot rely to say x(a..bignumber) and then expect he
gets the "intersection of indices"-semantics. Clearly, x(a..bignumber)
is actually an error if x is finite and maxIndex(x)<bignumber. That we
not immediatly return that error but only when an index after
maxIndex(x) is asked for, is an implementation detail, but not something
that I would like to specify.
Ralf
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/0e34b304-6c7a-e672-12d8-993f4a356106%40hemmecke.de.