#6343: Adds SageObject.check() generic testing framework
-------------------------+--------------------------------------------------
Reporter: nthiery | Owner: nthiery
Type: enhancement | Status: new
Priority: major | Milestone: sage-4.0.3
Component: doctest | Keywords:
Reviewer: | Author: nthiery
Merged: |
-------------------------+--------------------------------------------------
Description changed by nthiery:
Old description:
> This patch adds a .check() method in SageObject which runs systematic
> checks on the object. Here is a typical call:
>
> sage: ZZ.check(verbose = True)
> running test_an_element ... done
> running test_element_pickling ... done
> running test_not_implemented_methods ... done
> running test_pickling ... done
>
> In practice, o.check() runs all the methods named test_* of the object o.
>
> The test_* methods are typically implemented by abstract super classes
> and in particular via categories, in order to enforce standard behavior
> and API (test_pickling, test_an_element), or provide mathematical sanity
> checks (test_associativity).
>
> For consistent error reporting, the test_* methods in turn must use the
> gadget sage.misc.instance_tester.InstanceTester to actually run the
> tests.
>
> This patch is a prerequisite for #5891 (category framework), which uses
> it intensively. Some examples in the patch illustrate this, and are
> therefore temporarily disabled.
New description:
This patch implements a .check() method in SageObject which runs
systematic checks on the object. Here is a typical call:
sage: ZZ.check(verbose = True)
running test_an_element ... done
running test_element_pickling ... done
running test_not_implemented_methods ... done
running test_pickling ... done
In practice, o.check() runs all the methods named test_* of the object o.
The test_* methods are typically implemented by abstract super classes and
in particular via categories, in order to enforce standard behavior and
API (test_pickling, test_an_element), or provide mathematical sanity
checks (test_associativity).
For consistent error reporting, the test_* methods in turn must use the
new gadget sage.misc.instance_tester.InstanceTester to actually run the
tests.
This patch is a prerequisite for #5891 (category framework), which uses it
intensively. Some examples in the patch illustrate this, and are therefore
temporarily disabled.
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6343#comment:1>
Sage <http://sagemath.org/>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---