ó
â™xTc           @   s’   d  d l  m Z d  d l m Z d  d l m Z m Z d  d l Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z e d k rŽ e ƒ  n  d S(   iÿÿÿÿ(   t   division(   t   object_oriented_patterns(   t   approx_equalt   Exception_expectedNc    	      C   so  d t  f d „  ƒ  Y}  d t j |  f d „  ƒ  Y} |  j d k sG t ‚ |  d ƒ } | j ƒ  d k sk t ‚ | j ƒ  d k sƒ t ‚ d t  f d	 „  ƒ  Y} d
 | f d „  ƒ  Y} d t j | f d „  ƒ  Y} | d ƒ } | j ƒ  d k sï t ‚ | j ƒ  d k st ‚ y6 d |  f d „  ƒ  Y} d t j | f d „  ƒ  Y} Wn+ t k
 rj} t | ƒ d k skt ‚ n Xd  S(   Nt   ac           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s    doc for a c         S   s   | |  _  d  S(   N(   t   i(   t   selfR   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   __init__	   s    c         S   s   |  j  S(   N(   R   (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   get
   s    c         S   s   | |  _  d  S(   N(   R   (   R   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   set   s    (   t   __name__t
   __module__t   __doc__R   R   R	   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR      s   		t   a_extensionc           B   s   e  Z d  Z d Z d „  Z RS(   s    doc for extension of a i   c         S   s   |  j  ƒ  |  j  ƒ  S(   N(   R   (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt
   get_square   s    (   R
   R   R   t   varR   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR      s   i   i   i   t   bc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   | |  _  d  S(   N(   R   (   R   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR      s    c         S   s   |  j  d S(   Ni   (   R   (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR      s    (   R
   R   R   R   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR      s   	t   cc           B   s   e  Z d  „  Z RS(   c         S   s   |  j  d S(   Ni   (   R   (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR      s    (   R
   R   R   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR      s   t   c_extensionc           B   s   e  Z d  „  Z RS(   c         S   s   |  j  ƒ  |  j  ƒ  S(   N(   R   (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR      s    (   R
   R   R   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR      s   iýÿÿÿiþÿÿÿt   dc           B   s   e  Z RS(    (   R
   R   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR   &   s    t   d_extensionc           B   s   e  Z d  „  Z RS(   c         S   s   d S(   Ni    (    (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR   (   s    (   R
   R   R   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR   '   s   s*   class d already has attribute 'get_square'(   t   objectt   oopt   injectorR   t   AssertionErrorR   R   t   str(	   R   R   t   oR   R   R   R   R   t   err(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   exercise_injector   s"     c    	         sê  g  ‰  ‡  f d †  }  t  j |  ƒ } | d ƒ d k s< t ‚ ˆ  d g k sQ t ‚ | d ƒ d k si t ‚ ˆ  d g k s~ t ‚ | d ƒ d k s– t ‚ ˆ  d g d k s¯ t ‚ | d ƒ d k sÇ t ‚ ˆ  d g d k sà t ‚ | d ƒ d k sø t ‚ ˆ  d g d k st ‚ y | d d ƒ Wn t k
 r7} n Xt ‚ | j d k sSt ‚ d t f ‡  f d	 †  ƒ  Y} g  ‰  | d ƒ } | d ƒ } | j d
 ƒ d k s¨t ‚ ˆ  d g k s½t ‚ | j d ƒ d k sØt ‚ ˆ  d g d k sñt ‚ | j d ƒ d k st ‚ ˆ  d g d k s%t ‚ | j d
 ƒ d k s@t ‚ ˆ  d g d k sYt ‚ | j d ƒ d k stt ‚ ˆ  d g d k s�t ‚ | } | j d
 ƒ d k s®t ‚ ˆ  d g d k sÇt ‚ | j d ƒ d k sât ‚ ˆ  d g d
 k sût ‚ | j d ƒ d k st ‚ ˆ  d g d
 k s/t ‚ | j j d k sGt ‚ d t  j | f d „  ƒ  Y} | d ƒ } | j	 d ƒ d k sŠt ‚ | j	 d ƒ d k s¥t ‚ | j	 d ƒ d k sÀt ‚ | j
 j i d d 6d d 6k sæt ‚ d  S(   Nc            s   ˆ  j  d ƒ |  d S(   s    Documentation for function f t   +i   (   t   append(   t   x(   t
   diagnostic(    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   f.   s    i    i   R   i   R   s    Documentation for function f t   fooc              s/   e  Z d  „  Z ‡  f d †  Z e j e ƒ Z RS(   c         S   s   | |  _  d  S(   N(   R   (   R   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR   H   s    c            s   ˆ  j  d ƒ |  j | S(   s    Documentation for method f R   (   R   R   (   R   R   (   R    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR!   J   s    (   R
   R   R   R!   R   t   memoize_method(    (   R    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR"   G   s   	i   i   i   i   s    Documentation for method f t   _foo_extensionc           B   s    e  Z d  „  Z e j e ƒ Z RS(   c         S   s   d | S(   NR   (    (   R   t   n(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   gg   s    (   R
   R   R&   R   R#   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR$   f   s   	t   xxt   xxx(   i   (   i   (   R   t   memoizeR   t	   TypeErrorR   R   R   R!   R   R&   t   _memoized_gt   cached(	   R!   t   mft   eR"   t   o1t   o2t   o3R$   t   efoo(    (   R    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   exercise_memoize,   s^    	c          C   sú   t  j d d g  ƒ }  |  s" t ‚ t |  j t  j ƒ s= t ‚ t |  j d d d ƒt  j ƒ sd t ‚ d } |  _ | d k sƒ t ‚ t |  j t  j ƒ sž t ‚ t |  d t  j ƒ sº t ‚ d } |  d <| d k sÚ t ‚ t |  d t  j ƒ sö t ‚ d  S(   NR   i   R   i   i-Z  iê   (   R   t   nullR   t
   isinstanceR!   R&   t   h(   R%   R6   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   exercise_nullq   s    'c          C   sà   d t  f d „  ƒ  Y}  |  ƒ  } | j d k s4 t ‚ d | _ | j d k sR t ‚ | j d k sg t ‚ | j d 7_ | j d k s‹ t ‚ | j d k s  t ‚ |  j j j d ƒ d k sÁ t ‚ | ` | j d	 k sÜ t ‚ d  S(
   NR"   c           B   s*   e  Z d  „  Z d e j f d „  ƒ  YZ RS(   c         S   s   d |  _  d  S(   Ni   (   R   (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR   ‚   s    t   barc           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s     documentation for property bar c         S   s   |  j  S(   N(   R   (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   fgetˆ   s    c         S   s   | |  _  d  S(   N(   R   (   R   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   fset‹   s    c         S   s   d |  _  d  S(   Niÿÿÿÿ(   R   (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   fdelŽ   s    (   R
   R   R   R9   R:   R;   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR8   …   s   		(   R
   R   R   t   libtbxt   propertyR8   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR"   €   s   	i   i   i   i   s   documentation for property bari    iÿÿÿÿ(   R   R8   R   R   R   t   find(   R"   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   exercise_easy_property~   s    		!c          C   s§  d t  f d „  ƒ  Y}  d t j |  f d „  ƒ  Y} d t j |  f d „  ƒ  Y} | ƒ  } | j d k sl t ‚ t | j t d ƒ ƒ sŠ t ‚ y | j Wn t	 k
 r¨ n Xt
 ‚ y | j Wn t	 k
 rÍ n Xt
 ‚ | j d	 k sé t ‚ y | j Wn t	 k
 rn Xt
 ‚ | ƒ  } t | j t d ƒ ƒ s5t ‚ t | j t d
 ƒ ƒ sSt ‚ | ` y | j Wn t	 k
 rwn Xt
 ‚ y | j Wn t	 k
 rœn Xt
 ‚ d  S(   Nt   testc           B   s   e  Z d  „  Z RS(   c         S   sD   x t  d ƒ D] } | |  _ q Wx t  d ƒ D] } | |  _ q- Wd  S(   Ni
   i   (   t   rangeR   t   z(   R   R   t   k(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR   ¢   s    (   R
   R   R   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyR@       s   t   test1c           B   s   e  Z d  d g Z RS(   R   t   y(   R
   R   t   __journal__(    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyRD   ©   s   t   test2c           B   s   e  Z d  d g Z d Z RS(   R   RB   t   _journal(   R
   R   RF   t   __journal_suffix__(    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyRG   ¬   s   i	   i
   i   i   (   R   R   t   journal_mixinR   R   R   t	   x_historyRA   RE   t   AttributeErrorR   t	   y_historyRB   t	   z_historyt	   x_journalt	   z_journal(   R@   RD   RG   R   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   exercise_journalž   sH    		      	    c           C   s,   t  ƒ  t ƒ  t ƒ  t ƒ  t ƒ  d GHd  S(   Nt   OK(   RQ   R   R3   R7   R?   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   runÉ   s    t   __main__(   t
   __future__R    R<   R   R   t   libtbx.test_utilsR   R   R   R3   R7   R?   RQ   RS   R
   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/tst_object_oriented_patterns.pyt   <module>   s   	&	E		 	+	