Doctest failing for as_dict

26 views
Skip to first unread message

Abhishek K Das

unread,
May 15, 2014, 2:05:53 PM5/15/14
to sy...@googlegroups.com
I wrote this function for FiniteSet

    def as_dict(self,*other):
        """
        Rewrite a FiniteSet as a Dictionary. 

        Examples
        ========
        >>> from sympy import Symbol
        >>> from sympy.core import sets
        >>> A = FiniteSet((0, 0), (0, 2), (2, 0), (2, 2))
        >>> x = Symbol('x')
        >>> y = Symbol('y')

        >>> A.as_dict(x,y)
        [{x: 0, y:0}, {x: 0, y:2}, {x:2, y:0}, {x:2, y:2}]  
        """
        _list = []
        for elem in self:
            _list.append(dict(zip(list(other),list(elem))))
            return _list

but when I do ./bin/doctest core it shows :


_______________________________________ sympy.core.sets.FiniteSet.as_dict _______________________________________
File "sympy/core/sets.py", line 1524, in sympy.core.sets.FiniteSet.as_dict
Failed example:
    A.as_dict(x,y)
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib/python2.7/doctest.py", line 1315, in __run
        compileflags, 1) in test.globs
      File "<doctest sympy.core.sets.FiniteSet.as_dict[5]>", line 1, in <module>
        A.as_dict(x,y)
      File "sympy/core/sets.py", line 1530, in as_dict
        _list.append(dict(zip(list(other),list(elem))))
    NameError: global name 'other' is not defined

============================= tests finished: 216 passed, 1 failed, in 2.51 seconds =============================
DO *NOT* COMMIT!
============================================== rst doctests start ===============================================


This is the first time , I have made some changes in any file in sympy . I am a newbie , please tell me what are the issues with the doctest and how can I edit this so as
to get the test passed ? 

Aaron Meurer

unread,
May 16, 2014, 3:26:26 PM5/16/14
to sy...@googlegroups.com
I guess you figured it out. You were using *args instead of *other.

Aaron Meurer
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sympy+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/59bef893-ab4f-4836-8185-c762151ba94d%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

Abhishek K Das

unread,
May 16, 2014, 8:15:44 PM5/16/14
to sy...@googlegroups.com
Yes Aaron !
Reply all
Reply to author
Forward
0 new messages