#9065: Add support for facade parents
---------------------------+------------------------------------------------
   Reporter:  nborie       |       Owner:  nthiery                  
       Type:  enhancement  |      Status:  new                      
   Priority:  major        |   Milestone:  sage-4.4.3               
  Component:  categories   |    Keywords:  facade, parent, TestSuite
     Author:               |    Upstream:  N/A                      
   Reviewer:               |      Merged:                           
Work_issues:               |  
---------------------------+------------------------------------------------
Description changed by hivert:

Old description:

> The goal of this tickets is to add support for facade parents; see:
> http://groups.google.com/group/sage-
> devel/browse_thread/thread/a5ea008c24c17956/00ab8c6d2a16f57a
>
> The main issue currently is that facade parents (Primes,
> NonNegativeIntegers, SymmetricFunctions, ...) are not aware that they
> are, which breaks some of the generic TestSuite tests.
>
> This involves:
>  - Adding a new optional argument for Parent.__init__:
> {{{Parent.__init__(self, facade = [ZZ])}}}
>  - Creating a category or abstract class for facade parents
>  - Adding a method P.is_parent_of(x) in Sets.ParentMethods which checks
> that the parent of x is (equal to) P. Override this method for facade
> parents to check that the parent of x is one of the declared parents of
> P.
>  - Fix P._test_one(), P._test_zero(), P._test_an_element() (and maybe
> others) to use {{{P.is_parent_of(x)}}} instead of {{{x in P}}}.

New description:

 The goal of this tickets is to add support for facade parents; see:
 [http://groups.google.com/group/sage-
 devel/browse_thread/thread/a5ea008c24c17956/00ab8c6d2a16f57a This thread]

 The main issue currently is that facade parents ({{{Primes,
 NonNegativeIntegers, SymmetricFunctions,}}} ...) are not aware that they
 are, which breaks some of the generic {{{TestSuite}}} tests.

 This involves:
  - Adding a new optional argument for {{{Parent.__init__}}}:
 {{{Parent.__init__(self, facade = [ZZ])}}}
  - Creating a category or abstract class for facade parents
  - Adding a method {{{P.is_parent_of(x)}}} in {{{Sets.ParentMethods}}}
 which checks that the parent of x is (equal to) P. Override this method
 for facade parents to check that the parent of x is one of the declared
 parents of P.
  - Fix {{{P._test_one(), P._test_zero(), P._test_an_element()}}} (and
 maybe others) to use {{{P.is_parent_of(x)}}} instead of {{{x in P}}}.

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9065#comment:2>
Sage <http://www.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