ó
ŠV]c           @   s   d  d l  m Z d  d l j j Z d  d l Td  d l Td  d l Td e f d     YZ e	 d k r{ d  d l
 Z
 e
 j   n  d S(   iÿÿÿÿ(   t
   CythonTestN(   t   *t   TestMemviewParsingc           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            s    j     f d    j S(   Nc              s    j     S(   N(   t   fragment(    (   t   st   self(    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   <lambda>   t    (   t   should_not_failt   root(   R   R   (    (   R   R   s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   parse
   s    c            s8    j     f d   t j  }  j | | j  d  S(   Nc              s    j     S(   N(   R   (    (   R   R   (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyR      R   (   t   should_failt   Errorst   CompileErrort   assertEqualt   message_only(   R   t   expected_errorR   t   e(    (   R   R   s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   not_parseable   s    !c         C   s   |  j  d  |  j  d  d  S(   Nu   cdef int[:] xu   cdef short int[:] x(   R
   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   test_default_1dim   s    c         C   s+   |  j  d  |  j  d  |  j  d  d  S(   Nu   cdef int[:,:,:,:,:] xu#   cdef unsigned long int[:,:,:,:,:] xu   cdef unsigned int[:,:,:,:,:] x(   R
   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   test_default_ndim   s    c         C   s   |  j  d  |  j  d  d  S(   Nu   cdef long double[0:] xu   cdef int[0:] x(   R
   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   test_zero_offset   s    c         C   s   |  j  d  d  S(   Nu   cdef int[0:,0:,0:,0:] x(   R
   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   test_zero_offset_ndim   s    c         C   s   |  j  d  d  S(   Nu   def foo(int[:,:] x): pass(   R
   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   test_def_arg!   s    c         C   s   |  j  d  d  S(   Nu   cdef foo(int[:,:] x): pass(   R
   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   test_cdef_arg$   s    c         C   s   |  j  d  d  S(   Nu9   cdef float[::ptr, ::direct & contig, 0::full & strided] x(   R
   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   test_general_slice'   s    c         C   s$   |  j  d d  |  j  d d  d  S(   NuD   An axis specification in memoryview declaration does not have a ':'.u   cdef double[:foo, bar] xu   cdef double[0:foo, bar] x(   R   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   test_non_slice_memview*   s    		c         C   s9   |  j  d  } | j d j } |  j t | t   d  S(   Nu   cdef int[:] xi    (   R
   t   statst	   base_typet   assert_t
   isinstancet   MemoryViewSliceTypeNode(   R   t   tt	   memv_node(    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt
   test_basic0   s    c         C   s   |  j  d d  d  S(   Nu   Expected ']'u$   cdef extern foo(object[int, ndim=2])(   R   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   disable_test_no_buf_arg8   s    	c         C   sK   |  j  d  |  j  d  |  j  d  |  j d d  |  j d d  d  S(   Nu   sizeof(int[NN])u   sizeof(int[])u   sizeof(int[][NN])u!   Expected an identifier or literalu   sizeof(int[:NN])u   Expected ']'u   sizeof(foo[dtype=bar](   R
   R   (   R   (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   disable_test_parse_sizeof<   s    		(   t   __name__t
   __module__R
   R   R   R   R   R   R   R   R   R   R"   R#   R$   (    (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyR      s   												t   __main__(   t   Cython.TestUtilsR    t   Cython.Compiler.Errorst   CompilerR   t   Cython.Compiler.Nodest#   Cython.Compiler.ParseTreeTransformst   Cython.Compiler.BufferR   R%   t   unittestt   main(    (    (    s@   lib/python2.7/site-packages/Cython/Compiler/Tests/TestMemView.pyt   <module>   s   


=