#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
-~----------~----~----~----~------~----~------~--~---

Reply via email to