
mJ]c           @` s  d  d l  m Z m Z m Z m Z d  d l Z e d  d l Z d  d l m Z d  d l	 m
 Z
 m Z m Z m Z m Z m Z d  d l m Z d  d l m Z m Z d  d l m Z d   Z d	 e f d
     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ  d e f d     YZ! d e f d     YZ" d e f d     YZ# d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t   xrange(   t   Listt   Stringt   Instancet   Dictt   Anyt   Int(   t   Model(   t   PropertyValueListt   PropertyValueDict(   t   with_metaclassc   (      C` s  d d l  m } m } m } m } m } m } m } m } m	 }	 m
 }
 m } m } m } m } d d l m } d d l m } |   } t | g  } x$t |   D]} | d t d d | d g d d | d g   } |   } |   } | d	 | d
 |  } |   } | j | d  |   } | j | d  | d d  } | j | d  | d d  } | j | d  | j | j | j | j g } | d d d d  } | d | d |  } | j j |  |   } |   }  |	   }! |
   }" |   }# |   }$ |   }% |   }& | |  |! |" |# |$ |% |& g }' | j |'   | j j |  | t | | | | | | | | j | | | j | j | | j  | j! | j" | j# |# j$ |$ j$ g | |'  O} q W| | f S(   Ni    (   t   Plott
   LinearAxist   Gridt   GlyphRenderert   ColumnDataSourcet   DataRange1dt   PanToolt
   ZoomInToolt   ZoomOutToolt   WheelZoomToolt   BoxZoomToolt   BoxSelectToolt   SaveToolt	   ResetTool(   t   Column(   t   Linet   datat   xi   t   yt   x_ranget   y_rangeu   belowu   leftt	   dimensionu   centeru   xu   yt   data_sourcet   glyph(%   t   bokeh.modelsR   R   R   R   R   R   R   R   R   R   R   R   R   R   t   bokeh.models.layoutsR   t   bokeh.models.glyphsR   t   setR   t   dictt
   add_layoutt   tickert	   formattert	   rendererst   appendt	   add_toolst   childrent   viewt   selectedt   selection_policyt   x_scalet   y_scalet   toolbart   titlet   overlay((   t   nR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   t   colt   objectst   it   sourcet   xdrt   ydrt   plott   xaxist   yaxist   xgridt   ygridt   tickersR&   t   renderert   pant   zoom_int   zoom_outt
   wheel_zoomt   box_zoomt
   box_selectt   savet   resett   tools(    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt
   large_plot)   sH    ^	2												jt   TestMetaModelc           B` s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C` s5   d d l  m } | |  _ t j |  j j  |  _ d  S(   Ni    (   t	   MetaModel(   t   bokeh.modelRT   t	   metamodelt   copyt   model_class_reverse_mapt   old_map(   t   selfRT   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   setup_method`   s    	c         C` s   |  j  |  j _ d  S(   N(   RY   RV   RX   (   RZ   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   teardown_methode   s    c         C` s#   d t  |  j  f d     Y} | S(   Nt
   Test_Classc           B` s   e  Z d  Z RS(   i   (   t   __name__t
   __module__t   foo(    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR]   i   s   (   R   RV   (   RZ   R]   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   mkclassh   s    c         C` sE   |  j    } t | d  s! t  t j t   |  j    Wd  QXd  S(   Nu   __view_model__(   Ra   t   hasattrt   AssertionErrort   pytestt   raisest   Warning(   RZ   t   tclass(    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_metaclassingm   s    c         C` s_   d d l  m } |  j   | d  } t | d  s; t  t j t   | d  Wd  QXd  S(   Ni    (   t	   get_classu
   Test_Classu   foou   Imaginary_Class(   RU   Ri   Ra   Rb   Rc   Rd   Re   t   KeyError(   RZ   Ri   Rg   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_get_classs   s    
(   R^   R_   R[   R\   Ra   Rh   Rk   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyRS   ^   s
   				t	   DeepModelc           B` s   e  Z e e  Z RS(    (   R^   R_   R   R   t   child(    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyRl   {   s   t   TestCollectModelsc           B` s   e  Z d    Z d   Z RS(   c         C` s4   t  d  \ } } t | j    | k s0 t  d  S(   Ni
   (   RR   R*   t
   referencesRc   (   RZ   t   rootR=   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_references_large   s    c         C` s|   t    } t | g  } | } x9 t d  D]+ } t    } | j |  | | _ | } q+ Wt | j    | k sx t  d  S(   Ni  (   Rl   R*   R   t   addRm   Ro   Rc   (   RZ   Rp   R=   t   parentR>   t   model(    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_references_deep   s    			
(   R^   R_   Rq   Ru   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyRn   ~   s   	t   SomeModelToJsonc           B` s&   e  Z e e  Z e   Z e   Z RS(    (	   R^   R_   R   R   Rm   R
   R`   R   t   bar(    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyRv      s   	t	   TestModelc           B` s}   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z RS(   c         C` s&   d d l  m } | |  _ d  |  _ d  S(   Ni    (   R   (   RU   R   t   pObjectClasst   Nonet   maxDiff(   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR[      s    	c         C` s   |  j  d d  } | j d k s' t  |  j    } | j d  k	 sH t  t d d d d d g  | j   k su t  t d d  d	 g  d
 i  d i  d g   | j d t  k s t  t   | j d t	  k s t  d  S(   Nt   idu   test_idu   nameu   tagsu   js_property_callbacksu   subscribed_eventsu   js_event_callbackst   namet   tagst   js_property_callbackst   js_event_callbackst   subscribed_eventst   include_defaults(
   Ry   R|   Rc   Rz   R*   t
   propertiesR+   t   properties_with_valuest   Truet   False(   RZ   t
   testObjectt   testObject2(    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt	   test_init   s    -c         C` s9   |  j  d d  } i d d 6d d 6| j k s5 t  d  S(   NR|   u   test_idu   Modelu   typeu   id(   Ry   t   refRc   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_ref   s    c         ` s  d d l  m } d d l m   m  d |  j f  f d     Y d |  j f    f d     Y d | f    f d	     Y d
 |  j f    f d     Y d |  j f     f d     Y} d |  j f     f d     Y}  d d   d d  } }  d |  }  d |   d |  } } | d | d |  }	 | d | d |  }
 |	 j   | | | |	 h k st  |
 j   | | | | |
 h k st  d  S(   Ni    (   t   HasProps(   R   R
   t   Tc           ` s   e  Z   d   Z RS(   i    (   R^   R_   t   t(    (   R
   (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR      s   t   Yc           ` s   e  Z     Z RS(    (   R^   R_   t   t1(    (   R   R   (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR      s   t   Z1c           ` s   e  Z     Z RS(    (   R^   R_   t   t2(    (   R   R   (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR      s   t   Z2c           ` s   e  Z     Z RS(    (   R^   R_   R   (    (   R   R   (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR      s   t   X1c           ` s    e  Z     Z     Z RS(    (   R^   R_   R!   t   z1(    (   R   R   R   (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR      s   t   X2c           ` s    e  Z     Z     Z RS(    (   R^   R_   R!   t   z2(    (   R   R   R   (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR      s   R   i   i   R   R   R!   R   R   (   t   bokeh.core.has_propsR   t   bokeh.core.propertiesR   R
   Ry   Ro   Rc   (   RZ   R   R   R   R   R   R!   R   R   t   x1t   x2(    (   R   R
   R   R   R   R   s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_references_by_ref_by_value   s    ""%%$c         ` sD  d d l  m  m  m  m  m  m   d |  j f  f d     Y d |  j f         f d     Y}  d d   d d	   d d
   d d   d d  f \ } } } } } | d | d | g d d
 | f d i | d 6d i | g d 6 } | j   t	 | | | | | | g  k s@t
  d  S(   Ni    (   R
   R   R   R   t   TupleR   t   Uc           ` s   e  Z   Z RS(    (   R^   R_   t   a(    (   R
   (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR      s   t   Vc           ` sk   e  Z    Z      Z       Z        Z          Z RS(    (   R^   R_   t   u1t   u2t   u3t   u4t   u5(    (   R   R   R
   R   R   R   R   (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR      s
   R   i   i   i   i   i   R   R   R   R   u   4R   u   5(   R   R
   R   R   R   R   R   Ry   Ro   R*   Rc   (   RZ   R   R   R   R   R   R   t   v(    (   R   R   R
   R   R   R   R   s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_references_in_containers   s    .1QAc         C` s   t  d d d d  } t  d | d d d d  } | j d t  } | j d t  } i	 i | j d	 6d
 d 6d 6| j d	 6d  d 6g  d 6i  d 6i  d 6g  d 6d d 6d d 6| k s t  d d d d | j | j f | k s t  d  S(   NR`   i9   Rw   u   helloRm   i*   u   worldR   u   idu   SomeModelToJsonu   typeu   childu   nameu   tagsu   js_property_callbacksu   js_event_callbacksu   subscribed_eventsu   foou   baru   {"bar":"world",u-   "child":{"id":"%s","type":"SomeModelToJson"},uF   "foo":42,"id":"%s","js_event_callbacks":{},"js_property_callbacks":{},u-   "name":null,"subscribed_events":[],"tags":[]}(   Rv   t   to_jsonR   t   to_json_stringR|   Rz   Rc   (   RZ   t	   child_objt   objt   jsont   json_string(    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_to_json   s     
c         C` sw   d d l  m } |   } | j d t  } d | k s= t  d | k sO t  d | k sa t  d | k ss t  d  S(   Ni    (   t   AnnularWedgeR   u   start_angleu   start_angle_unitsu   outer_radiusu   outer_radius_units(   R'   R   R   R   Rc   (   RZ   R   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_no_units_in_json   s    	c         C` s   d d l  m } |   } d | _ | j d t  } d | k sF t  d | k sX t  t d d d	 d  | d k s} t  d  S(
   Ni    (   R   u	   fieldnameR   u   start_angleu   start_angle_unitst   unitsu   radt   field(   R'   R   t   start_angleR   R   Rc   R+   (   RZ   R   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dataspec_field_in_json  s    		c         C` s   d d l  m } |   } d | _ | j d t  } d | k sF t  d | k sX t  t d d d	 d  | d k s} t  d  S(
   Ni    (   R   i<   R   u   start_angleu   start_angle_unitsR   u   radt   value(   R'   R   R   R   R   Rc   R+   (   RZ   R   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dataspec_value_in_json  s    		c         C` s   d t  f d     Y} |   } | j | j k s7 t  d | j d t  k sU t  d | j d t  k ss t  | j j d  d | j d t  k s t  d  S(   Nt   HasListDefaultc           B` s   e  Z e e d  d g Z RS(   t   defaultu   hello(   R^   R_   R   R   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s   u   valueR   u   world(   R   R   Rc   R   R   R   R0   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_default  s    	c         C` s   d t  f d     Y} |   } | j | j k s7 t  t d d  | j k sU t  d | j d t  k ss t  d | j d t  k s t  d | j d <d | j d t  k s t  t d d d	 d  | j k s t  d  S(
   Nt   HasDictDefaultc           B` s&   e  Z e e e d  e d d  Z RS(   R   t   helloi*   (   R^   R_   R   R   R
   R+   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   )  s   R   i*   u   valueR   i9   u   worldt   world(   R   R   Rc   R+   R   R   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_default(  s    	c         ` s   t  d d      f d    d t f  f d     Y} |   } |   } | j d | j k sh t  d | j d t  k s t  d  S(	   NR   i    c           ` s     d c d 7<  d S(   Nu   valuei   (    (    (   t   counter(    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt
   next_value<  s    t   HasFuncDefaultIntc           ` s   e  Z e d     Z RS(   R   (   R^   R_   R
   R   (    (   R   (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   ?  s   i   u   valueR   (   R+   R   R   Rc   R   R   (   RZ   R   t   obj1t   obj2(    (   R   R   s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_func_default_with_counter:  s    		c         C` sh   d t  f d     Y} |   } |   } | j j | j j k sF t  d | j d t  k sd t  d  S(   Nt   HasFuncDefaultModelc           B` s   e  Z e e d     Z RS(   c           S` s   t    S(   N(   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   <lambda>K  t    (   R^   R_   R   R   Rm   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   J  s   u   childR   (   R   Rm   R|   Rc   R   R   (   RZ   R   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_func_default_with_modelI  s
    		(   R^   R_   R[   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyRx      s   				"											t   TestContainerMutationc           B` s   e  Z d    Z RS(   c   	      ` s   t  d g       f d   } | j | |  zJ t | |  } | | k sR t  | |  | t | |  k sw t  Wd  | j | |  Xd t   d  k s t    d d } | | d k s t  | | d k s t  | | d k s t  d  S(   Nt   callsc         ` s     d j  |  | | f  d  S(   Nu   calls(   R0   (   t   attrt   oldt   new_(   t   result(    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   record_triggerX  s    i   u   callsi    i   (   R+   t	   on_changet   getattrRc   t   remove_on_changet   len(	   RZ   R   R   t   mutatort   expected_event_oldt   expected_event_newR   t
   actual_oldt   call(    (   R   s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   _check_mutationV  s    
(   R^   R_   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   T  s   t   HasListPropc           B` s   e  Z e e  Z d    Z RS(   c         K` s   t  t |   j |   d  S(   N(   t   superR   t   __init__(   RZ   t   kwargs(    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   k  s    (   R^   R_   R   R   R`   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   i  s   t   TestListMutationc           B` s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z RS(   c         C` s   t    } d | j d t  k s' t  d | j d t  k sE t  | j } | | k s` t  d | j d t  k s~ t  d | j d t  k s t  | j j d  d | j d t  k s t  d | j d t  k s t  d  S(   Nu   fooR   u   hello(   R   R   R   Rc   R   R`   R0   (   RZ   R   R`   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt*   test_whether_included_in_props_with_valuesp  s    		c         C` s   t    } | j } t | t  s' t  d t | j  k sB t  d g | _ | j } t | t  sl t  | | k	 s~ t  d t | j  k s t  d t | j  k s t  d  S(   Ni   u   ai    (   R   R`   t
   isinstanceR   Rc   R   t   _owners(   RZ   R   t   old_listt   new_list(    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt    test_assignment_maintains_owners  s    			c         C` se   t  d d d d g  } t | j t  s0 t  d   } |  j | d | d d d g d d g  d  S(   NR`   u   au   bu   cc         S` s   |  d =d  S(   Ni   (    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   mutate  s    u   foo(   R   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_delitem  s    	c         C` sk   t  d d d d d g  } t | j t  s3 t  d   } |  j | d | d d d d g d d g  d  S(   NR`   u   au   bu   cu   dc         S` s   |  d d 5d  S(   Ni   i   (    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s    u   foo(   R   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_delslice  s    	c         C` sY   t  d d g  } t | j t  s* t  d   } |  j | d | d g d d g  d  S(   NR`   u   ac         S` s   |  d g 7}  d  S(   Nu   b(    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s    u   foou   b(   R   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_iadd  s    	c         C` s\   t  d d g  } t | j t  s* t  d   } |  j | d | d g d d d g  d  S(   NR`   u   ac         S` s   |  d 9}  d  S(   Ni   (    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s    u   foo(   R   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_imul  s    	c         C` sV   t  d d g  } t | j t  s* t  d   } |  j | d | d g d g  d  S(   NR`   u   ac         S` s   d |  d <d  S(   Nu   bi    (    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s    u   foou   b(   R   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_setitem  s    	c         C` sn   t  d d d d d g  } t | j t  s3 t  d   } |  j | d | d d d d g d d d g  d  S(	   NR`   u   au   bu   cu   dc         S` s   d g |  d d +d  S(   Nu   xi   i   (    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s    u   foou   x(   R   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_setslice  s    	c         C` sD   t    } t | j t  s! t  |  j | d d   g  d g  d  S(   Nu   fooc         S` s   |  j  d  S(   Nu   bar(   R0   (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     R   u   bar(   R   R   R`   R   Rc   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_append  s    	c         C` sG   t    } t | j t  s! t  |  j | d d   g  d d g  d  S(   Nu   fooc         S` s   |  j  d d g  S(   Nu   xu   y(   t   extend(   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     R   u   xu   y(   R   R   R`   R   Rc   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_extend  s    	c         C` s\   t  d d d g  } t | j t  s- t  |  j | d d   d d g d d d g  d  S(   NR`   u   au   bu   fooc         S` s   |  j  d d  S(   Ni   u   x(   t   insert(   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     R   u   x(   R   R   R`   R   Rc   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_insert  s
    	c         C` sV   t  d d d g  } t | j t  s- t  |  j | d d   d d g d g  d  S(   NR`   u   au   bu   fooc         S` s
   |  j    S(   N(   t   pop(   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     R   (   R   R   R`   R   Rc   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_pop  s
    	c         C` sV   t  d d d g  } t | j t  s- t  |  j | d d   d d g d g  d  S(   NR`   u   au   bu   fooc         S` s   |  j  d  S(   Nu   b(   t   remove(   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     R   (   R   R   R`   R   Rc   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_remove  s
    	c         C` sY   t  d d d g  } t | j t  s- t  |  j | d d   d d g d d g  d  S(   NR`   u   au   bu   fooc         S` s
   |  j    S(   N(   t   reverse(   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     R   (   R   R   R`   R   Rc   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_reverse  s
    	c         C` sY   t  d d d g  } t | j t  s- t  |  j | d d   d d g d d g  d  S(   NR`   u   bu   au   fooc         S` s
   |  j    S(   N(   t   sort(   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     R   (   R   R   R`   R   Rc   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_list_sort  s
    	(   R^   R_   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   n  s   																				t   HasStringDictPropc           B` s    e  Z e e e  Z d    Z RS(   c         K` s   t  t |   j |   d  S(   N(   R   R   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s    (   R^   R_   R   R   R	   R`   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s   t   HasIntDictPropc           B` s    e  Z e e e  Z d    Z RS(   c         K` s   t  t |   j |   d  S(   N(   R   R   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s    (   R^   R_   R   R
   R	   R`   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s   t   TestDictMutationc           B` st   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z RS(   c         C` s   t    } d | j d t  k s' t  d | j d t  k sE t  | j } | | k s` t  d | j d t  k s~ t  d | j d t  k s t  d | j d <d | j d t  k s t  d | j d t  k s t  d  S(   Nu   fooR   i*   u   bar(   R   R   R   Rc   R   R`   (   RZ   R   R`   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s    		c         C` s   t    } | j } t | t  s' t  d t | j  k sB t  t d d  | _ | j } t | t  sr t  | | k	 s t  d t | j  k s t  d t | j  k s t  d  S(   Ni   R   i    (   R   R`   R   R   Rc   R   R   R+   (   RZ   R   t   old_dictt   new_dict(    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   
  s    			c         C` s   t  d t d d d d d d   } t | j t  s< t  d   } |  j | d	 | t d d d d d d  t d d d d   d  S(
   NR`   R   i   t   bi   t   ci   c         S` s   |  d =d  S(   Nu   b(    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s    u   foo(   R   R+   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_delitem_string  s    $	c         C` s   t  d i d d 6d d 6d d 6 } t | j t  s< t  d   } |  j | d	 | i d d 6d d 6d d 6i d d 6d d 6 d  S(
   NR`   u   ai   u   bi   u   ci   c         S` s   |  d =d  S(   Ni   (    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   "  s    u   foo(   R   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_delitem_int  s    $	c         C` s   t  d t d d d d d d   } t | j t  s< t  d   } |  j | d	 | t d d d d d d  t d d d d
 d d   d  S(   NR`   R   i   R   i   R   i   c         S` s   d |  d <d  S(   Ni*   u   b(    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   +  s    u   fooi*   (   R   R+   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_setitem_string(  s    $	c         C` s   t  d i d d 6d d 6d d 6 } t | j t  s< t  d   } |  j | d	 | i d d 6d d 6d d 6i d d 6d
 d 6d d 6 d  S(   NR`   u   ai   u   bi   u   ci   c         S` s   d |  d <d  S(   Nu   bari   (    (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   4  s    u   foou   bar(   R   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_setitem_int1  s    $	c         C` sz   t  d t d d d d d d   } t | j t  s< t  d   } |  j | d	 | t d d d d d d  t    d  S(
   NR`   R   i   R   i   R   i   c         S` s   |  j    d  S(   N(   t   clear(   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   =  s    u   foo(   R   R+   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_clear:  s    $	c         C` s   t  d t d d d d d d   } t | j t  s< t  d   } |  j | d	 | t d d d d d d  t d d d d   d  S(
   NR`   R   i   R   i   R   i   c         S` s   |  j  d  d  S(   Nu   b(   R   (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   F  s    u   foo(   R   R+   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_popC  s    $	c      	   C` sa   t  d t d d d d d d   } t | j t  s< t  d | j j d	 d  k s] t  d  S(
   NR`   R   i   R   i   R   i   i*   u   z(   R   R+   R   R`   R   Rc   R   (   RZ   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_pop_default_worksL  s    $c      	   C` sy   t  d t d d d d d d   } t | j t  s< t  | j j   } | d k su | d k su | d k su t  d  S(   NR`   R   i   R   i   R   i   u   au   bu   c(   u   ai   (   u   bi   (   u   ci   (   R   R+   R   R`   R   Rc   t   popitem(   RZ   R   R>   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_popitem_worksQ  s    $c         C` s   t  d t d d d d d d   } t | j t  s< t  d   } |  j | d	 | t d d d d d d  t d d d d d d d
 d   d  S(   NR`   R   i   R   i   R   i   c         S` sL   |  j  d d  } d | k s$ t  |  j  d d  } d | k sH t  d  S(   Nu   bi+   i   u   zi,   (   t
   setdefaultRc   (   R    R   t   z(    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   [  s    u   fooR
  i,   (   R   R+   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_setdefaultX  s    $	c         C` s   t  d t d d d d d d   } t | j t  s< t  d   } |  j | d	 | t d d d d d d  t d d d d
 d d   d  S(   NR`   R   i   R   i   R   i   c         S` s    |  j  t d d d d   d  S(   NR   i   R   i   (   t   updateR+   (   R    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR   h  s    u   fooi   i   (   R   R+   R   R`   R   Rc   R   (   RZ   R   R   (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   test_dict_updatee  s    $	(   R^   R_   R   R   R   R   R  R  R  R  R  R  R  R  (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyR     s   																	($   t
   __future__R    R   R   R   Rd   RW   t	   six.movesR   R   R   R   R   R   R	   R
   RU   R   t   bokeh.core.property.wrappersR   R   t   bokeh.util.futureR   RR   t   objectRS   Rl   Rn   Rv   Rx   R   R   R   R   R   R   (    (    (    s7   lib/python2.7/site-packages/bokeh/tests/test_objects.pyt   <module>   s(   " .	5