σ
ΞYc           @@  s  d  Z  d d l m Z d d l Z d d l m Z d d l Z d d l Z d d l	 m
 Z
 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 m Z m Z m Z m Z m Z d	 e j f d
     YZ d   Z d   Z  d   Z! d   Z" d   Z# d S(   s-   This is the Bokeh charts testing interface.

i    (   t   absolute_importN(   t   patch(   t   Chartt   defaults(   t   ColumnDataSourcet   Gridt   GlyphRenderert
   LinearAxist   Range1dt   Ticker(   t   FactorRange(   t   BoxZoomToolt   HelpToolt   LassoSelectToolt   PanToolt   SaveToolt	   ResetToolt   WheelZoomToolt	   TestChartc           B@  sz   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 e
 d  Z d	   Z e d
  d    Z RS(   c         C@  s   t    |  _ t   |  _ t   |  _ t   |  _ |  j g d |  _ t d d d d d d d d d d d	 d d
 d d d d t	 d t	 d t	 d t
  |  _ d  S(   Ni   t   titlet   xlabelt   ylabelt   legendt   top_leftt   xscalet   lineart   yscalet   widthi   t   heightiX  t   toolst
   responsivet   xgridt   ygrid(   R   t   sourceR   t   xdrt   ydrR   t   glypht   _groupsR   t   Truet   Falset   chart(   t   self(    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   setUp%   s    c         C@  s,   d |  j  j _ |  j |  j  j j d  d  S(   Nt	   new_title(   R(   R   t   textt   assertEqual(   R)   (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt
   test_title3   s    c         C@  s   |  j  |  j j d  d  S(   Nt   scale_width(   R-   R(   t   sizing_mode(   R)   (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_sizing_mode7   s    c         C@  sΧ   |  j  |  j j d t  |  j  |  j j d t  |  j  |  j j d t  |  j  |  j j d t  |  j  |  j j d t  |  j  |  j j d t  x4 t |  D]& \ } } |  j  |  j j | |  q© Wd  S(   Ni    i   i   i   (	   t   assertIsInstanceR(   t   leftR   t	   rendererst   belowR   t	   enumerateR   (   R)   t   expected_toolst   it   type_(    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   check_chart_elements:   s    c         C@  s0   |  j  |  j j d  |  j  |  j j d  d S(   s*   Test ranges are not created buy the chart.N(   R-   R(   t   x_ranget   Nonet   y_range(   R)   (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_rangesD   s    c      	   C@  s3   t  j t   |  j j d d d d  Wd  QXd  S(   Nt   xR3   t   datetimet   foo(   t   pytestt   raisest
   ValueErrorR(   t	   make_axis(   R)   (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_axis_requires_rangeI   s    c         C@  sΎ   |  j  j d t    |  j  j d d d d  } |  j | j d  |  j  j d d d d  } |  j | j d  |  j | j t j d  |  j  j d d d d	  } |  j | j d	  d  S(
   NR?   R3   R@   RA   t   categoricalt   bari   R   t   foobar(	   R(   t
   add_rangesR   RE   R-   t
   axis_labelt   major_label_orientationt   npt   pi(   R)   t   axis(    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_make_axisO   s    c         C@  ss   |  j  j d t    |  j  j d d d d  } |  j  j d | j  } |  j | j d  |  j | j t	  d  S(   NR?   R3   R@   RA   i    (
   R(   RJ   R   RE   t	   make_gridt   tickerR-   t	   dimensionR2   R	   (   R)   RO   t   grid(    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_make_grid]   s
    c         C@  sD   x= | D]5 \ } } | | d <t  |   } |  j | j |  q Wd  S(   NR   (   R   t   compare_toolsR   (   R)   t	   base_argst	   scenariosRG   R   R7   R(   (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   check_tools_scenariod   s    
c         C@  sQ   |  j  t |  t |   x. t |  D]  \ } } |  j | | |  q) Wd  S(   N(   R-   t   lenR6   R2   (   R)   R   R7   R8   t   _type(    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyRV   j   s    s$   bokeh.plotting.helpers.warnings.warnc         C@  s  t  d d d d d d d d d d d d d	 t d
 t d d d d  
} t t t t t t g g  t t t t g g } t	 t t
 d g |  } |  j | |  |  j | | d t d } t t t t t g } | j   d | d <t |   } t   | _ |  j | j |  | j |  d  S(   NR   R   R   R   R   R   R   R   R   R    R   i   R   iX  s   pan,box_zoom,reset,lasso_selectRG   s"   LassoSelectTool are being repeateds,   pan,box_zoom,reset,lasso_select,lasso_selectR   (   t   dictR&   R   R   R   R   R   R   R   t   zipR'   RY   t
   reset_mockR   R
   R;   RV   R   t   assert_any_call(   R)   t	   mock_warnRW   t   expectedRX   t
   msg_repeatR7   R(   (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_chart_tools_linearo   s&    

(   t   __name__t
   __module__R*   R.   R1   R:   R>   RF   RP   RU   R'   RY   RV   R   Rc   (    (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyR   $   s   				
					c          C@  s.   t  d d d d  }  |  j d k s* t  d  S(   Nt   idt   1234R   (   R   t   _idt   AssertionError(   R(   (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_chart_id   s    c          C@  sλ   t    }  d t _ d t _ t t _ t    } t    } |  j d k sK t  | j | j k oh d k n ss t  |  j d k s t  | j | j k o₯ d k n s° t  |  j sΏ t  | j | j k oά g  k n sη t  d  S(   Niθ  iX  (   R   R   t   plot_heightt
   plot_widthR'   R   Ri   (   t   c1t   c2t   c3(    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_defaults   s    						((c         C@  s)   t  d d  t |   d k s% t  d  S(   NR   i    (   R   RZ   Ri   (   t   recwarn(    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_title_kwarg_no_warning₯   s    c          C@  s@   d d l  m }  |    } t j t   t j |  Wd  QXd  S(   Ni    (   t   figure(   t   bokeh.plottingRs   RB   RC   RD   R   t   apply(   Rs   t   p(    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_charts_theme_validation©   s    	c          C@  sβ   d d l  m }  t d d d g d d d g  } |  | d	 d } | j d j t d d g d d g  } |  | d	 d d
 d } | j d j s t  t d d g d d g  } |  | d	 d } | j d j sή t  d  S(   Ni    (   t   Bart   typesRA   RH   t   countsi   i   t   valuest   label(   t   bkchartsRx   R\   R5   t   visibleRi   (   Rx   t   dfRv   (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   test_bar_chart_below_visibility±   s    !($   t   __doc__t
   __future__R    t   unittestt   mockR   RB   t   numpyRM   R}   R   R   t   bokeh.modelsR   R   R   R   R   R	   t   bokeh.models.rangesR
   t   bokeh.models.toolsR   R   R   R   R   R   R   t   TestCaseR   Rj   Rp   Rr   Rw   R   (    (    (    s8   lib/python2.7/site-packages/bkcharts/tests/test_chart.pyt   <module>   s   .4l				