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.

Reply via email to