;
Ìâ"Ic            
   @   sÂ   d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z Gd „  d ƒ Z Gd „  d e j e ƒ Z	 Gd „  d e j e ƒ Z
 Gd	 „  d
 e j e ƒ Z d „  Z e d k o e ƒ  n d S(   uT   Unit tests for the memoryview

XXX We need more tests! Some tests are in test_bytes
i    Nc             B   s’   |  Ee  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 d S(   s   abcdefc                sv  | |  j  ƒ } t j | ƒ } |  j | ƒ ‰  |  j ˆ  d d ƒ |  j t ˆ  d t ƒ t ˆ  d ƒ ƒ |  j ˆ  d d ƒ |  j ˆ  d d ƒ |  j ˆ  d d ƒ |  j	 t
 ‡  f d †  ƒ |  j	 t
 ‡  f d †  ƒ |  j	 t
 ‡  f d	 †  ƒ |  j	 t
 ‡  f d
 †  ƒ |  j	 t ‡  f d †  ƒ |  j	 t ‡  f d †  ƒ |  j	 t ‡  f d †  ƒ d  ‰  |  j t j | ƒ | ƒ d  S(   Ni    s   ai   s   fiÿÿÿÿiúÿÿÿc                  s   ˆ  d  S(   i   (    (    (   u   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>   s    c                  s   ˆ  d  S(   iùÿÿÿ(    (    (   u   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>   s    c                  s   ˆ  t  j S(    (   u   sysu   maxsize(    (   u   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>    s    c                  s   ˆ  t  j S(    (   u   sysu   maxsize(    (   u   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>!   s    c                  s   ˆ  d  S(   N(   u   None(    (   u   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>#   s    c                  s   ˆ  d  S(   g        (    (    (   u   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>$   s    c                  s   ˆ  d  S(   u   a(    (    (   u   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>%   s    (   u   base_objectu   sysu   getrefcountu   _viewu   assertEqualsu   assert_u
   isinstanceu   bytesu   typeu   assertRaisesu
   IndexErroru	   TypeErroru   None(   u   selfu   tpu   bu   oldrefcount(    (   u   mu1   /mit/python/lib/python3.0/test/test_memoryview.pyu   check_getitem_with_type   s"    'c             C   s   |  j  t ƒ d  S(   N(   u   check_getitem_with_typeu   bytes(   u   self(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_getitem_readonly)   s    c             C   s   |  j  t ƒ d  S(   N(   u   check_getitem_with_typeu	   bytearray(   u   self(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_getitem_writable,   s    c                s˜   |  j  } t j | ƒ } |  j | ƒ ‰  ‡  f d †  } |  j t | d ƒ |  j t | d ƒ |  j t | t d ƒ ƒ d  ‰  |  j t j | ƒ | ƒ d  S(   Nc                s   |  ˆ  d <d  S(   Ni    (    (   u   value(   u   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   setitem3   s    s   aiA   (	   u   base_objectu   sysu   getrefcountu   _viewu   assertRaisesu	   TypeErroru
   memoryviewu   Noneu   assertEquals(   u   selfu   bu   oldrefcountu   setitem(    (   u   mu1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_setitem_readonly/   s    	c                sH  t  |  j ƒ } t j | ƒ } |  j | ƒ ‰  d ˆ  d <|  j | d ƒ d ˆ  d d … <|  j | d ƒ d ˆ  d d … <|  j | d ƒ d	 ˆ  d  d  … <|  j | d	 ƒ ˆ  d
 d … ˆ  d d … <|  j | d ƒ d	 ˆ  d  d  … <ˆ  d d … ˆ  d
 d … <|  j | d ƒ ‡  f d †  } |  j t | d d ƒ |  j t | d d ƒ |  j t | t j d ƒ |  j t | t j d ƒ |  j t	 | d d ƒ |  j t	 | d d ƒ |  j t	 | d d ƒ |  j t
 | d d ƒ |  j t
 | d d ƒ |  j t
 | t d d ƒ d ƒ |  j t
 | t d d
 ƒ d ƒ d  ‰  |  j t j | ƒ | ƒ d  S(   Ns   0i    s   0bcdefs   12i   i   s   012defs    s   abcdefi   i   s   cdedefs   ababcfc                s   | ˆ  |  <d  S(   N(    (   u   keyu   value(   u   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   setitemO   s    i   s   aiùÿÿÿg        u   as   ab(   i    (   u	   bytearrayu   base_objectu   sysu   getrefcountu   _viewu   _check_contentsu   assertRaisesu
   IndexErroru   maxsizeu	   TypeErroru
   ValueErroru   sliceu   Noneu   assertEquals(   u   selfu   bu   oldrefcountu   setitem(    (   u   mu1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_setitem_writable;   s<    
c             C   s&   |  j  t |  j |  j ƒ ƒ d ƒ d  S(   Ni   (   u   assertEqualsu   lenu   _viewu   base_object(   u   self(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_lenc   s    c             C   sQ   |  j  |  j ƒ } | j ƒ  } |  j | d ƒ |  j t | t ƒ t | ƒ ƒ d  S(   Ns   abcdef(   u   _viewu   base_objectu   tobytesu   assertEqualsu   assert_u
   isinstanceu   bytesu   type(   u   selfu   mu   b(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_tobytesf   s    c             C   s8   |  j  |  j ƒ } | j ƒ  } |  j | t d ƒ ƒ d  S(   Ns   abcdef(   u   _viewu   base_objectu   tolistu   assertEqualsu   list(   u   selfu   mu   l(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_tolistl   s    c                s
  |  j  |  j ƒ ‰ xª t t f D]œ } |  j ˆ | d ƒ k ƒ |  j ˆ | d ƒ k ƒ |  j ˆ | d ƒ k ƒ |  j ˆ | d ƒ k ƒ |  j ˆ | d ƒ k ƒ |  j ˆ | d ƒ k ƒ q W|  j ˆ ˆ k ƒ |  j ˆ ˆ d  d  … k ƒ |  j ˆ d d … ˆ d  d  … k ƒ |  j ˆ d d … ˆ k ƒ |  j ˆ d k ƒ |  j ˆ d k ƒ |  j d ˆ k ƒ |  j d ˆ k ƒ x„ ˆ d f D]v ‰  |  j t ‡  ‡ f d †  ƒ |  j t ‡  ‡ f d	 †  ƒ |  j t ‡  ‡ f d
 †  ƒ |  j t ‡  ‡ f d †  ƒ qŒWd  S(   Ns   abcdefs   abcdes   abcde1i    i   i   u   abcc                  s
   ˆ ˆ  k  S(    (    (    (   u   cu   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>‰   s    c                  s
   ˆ  ˆ k S(    (    (    (   u   cu   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>Š   s    c                  s
   ˆ ˆ  k S(    (    (    (   u   cu   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>‹   s    c                  s
   ˆ  ˆ k S(    (    (    (   u   cu   m(    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <lambda>Œ   s    (   u   _viewu   base_objectu   bytesu	   bytearrayu
   assertTrueu   assertFalseu   assertRaisesu	   TypeError(   u   selfu   tp(    (   u   cu   mu1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_compareq   s.     ' c             C   sª   | |  j  ƒ } |  j | ƒ } |  j | j d ƒ |  j | j d ƒ |  j | j d ƒ |  j | j d ƒ |  j t | ƒ d ƒ |  j | j d ƒ |  j | j	 d  ƒ | S(   Nu   Bi   i   (   i   (   i   (   u   base_objectu   _viewu   assertEqualsu   formatu   itemsizeu   ndimu   shapeu   lenu   stridesu
   suboffsetsu   None(   u   selfu   tpu   bu   m(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   check_attributes_with_typeŽ   s    c             C   s&   |  j  t ƒ } |  j | j d ƒ d  S(   NT(   u   check_attributes_with_typeu   bytesu   assertEqualsu   readonlyu   True(   u   selfu   m(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_attributes_readonlyš   s    c             C   s&   |  j  t ƒ } |  j | j d ƒ d  S(   NF(   u   check_attributes_with_typeu	   bytearrayu   assertEqualsu   readonlyu   False(   u   selfu   m(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_attributes_writablež   s    c             C   sš   |  j  } t j | ƒ } |  j | ƒ } t j | ƒ } t | d ƒ } |  j | | j d ƒ ƒ |  j t j | ƒ | ƒ d  } |  j t j | ƒ | ƒ d  S(   Nu   utf-8(	   u   base_objectu   sysu   getrefcountu   _viewu   stru   _check_contentsu   encodeu   assertEqualsu   None(   u   selfu   bu   oldrefcountu   mu   oldviewrefcountu   s(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_getbuffer¢   s    	c             C   s    Gd „  d t  ƒ } Gd „  d ƒ } | d ƒ } |  j | ƒ } | ƒ  } | | _ | | _ t j | ƒ } d  } } } t j ƒ  |  j	 | ƒ  d  k | ƒ  ƒ d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   MyBytes¯   s   
u   MyBytesc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   MyObject±   s   
u   MyObjects   abc(
   u   bytesu   _viewu   mu   ou   weakrefu   refu   Noneu   gcu   collectu   assert_(   u   selfu   MyBytesu   MyObjectu   bu   mu   ou   wr(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_gc®   s    			
N(   u   __name__u
   __module__u   base_objectu   check_getitem_with_typeu   test_getitem_readonlyu   test_getitem_writableu   test_setitem_readonlyu   test_setitem_writableu   test_lenu   test_tobytesu   test_tolistu   test_compareu   check_attributes_with_typeu   test_attributes_readonlyu   test_attributes_writableu   test_getbufferu   test_gc(   u
   __locals__(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   CommonMemoryTests   s   
					(								u   CommonMemoryTestsc             B   s)   |  Ee  Z d  „  Z d „  Z d „  Z d S(   c             C   s
   t  | ƒ S(   N(   u
   memoryview(   u   selfu   obj(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   _viewÃ   s    c             C   s   |  j  | | ƒ d  S(   N(   u   assertEquals(   u   selfu   obju   contents(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   _check_contentsÆ   s    c             C   sˆ   d } |  j  t | ƒ ƒ |  j  t d | ƒ ƒ |  j t t ƒ |  j t t | | ƒ |  j t t d | ƒ|  j t t | d d ƒd  S(   Ns   testu   objectu   argumentT(   u   assert_u
   memoryviewu   assertRaisesu	   TypeErroru   True(   u   selfu   ob(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   test_constructorÉ   s    N(   u   __name__u
   __module__u   _viewu   _check_contentsu   test_constructor(   u
   __locals__(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   MemoryviewTestÁ   s   
		u   MemoryviewTestc             B   s/   |  Ee  Z d  Z d „  Z d „  Z d „  Z d S(   s   XabcdefYc             C   s   t  | ƒ } | d d … S(   Ni   i   (   u
   memoryview(   u   selfu   obju   m(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   _viewÖ   s    c             C   s   |  j  | d d … | ƒ d  S(   Ni   i   (   u   assertEquals(   u   selfu   obju   contents(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   _check_contentsÚ   s    c             C   sF   t  d ƒ } t j | ƒ } | d d … |  j t j | ƒ | ƒ d  S(   Ns   abi   i   (   u
   memoryviewu   sysu   getrefcountu   assertEquals(   u   selfu   mu   oldrefcount(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu	   test_refsÝ   s    N(   u   __name__u
   __module__u   base_objectu   _viewu   _check_contentsu	   test_refs(   u
   __locals__(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   MemorySliceTestÓ   s   
		u   MemorySliceTestc             B   s&   |  Ee  Z d  Z d „  Z d „  Z d S(   s   XabcdefYc             C   s$   t  | ƒ } | d  d … d d  … S(   Ni   i   (   u
   memoryview(   u   selfu   obju   m(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   _viewç   s    c             C   s   |  j  | d d … | ƒ d  S(   Ni   i   (   u   assertEquals(   u   selfu   obju   contents(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   _check_contentsë   s    N(   u   __name__u
   __module__u   base_objectu   _viewu   _check_contents(   u
   __locals__(    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   MemorySliceSliceTestä   s   
	u   MemorySliceSliceTestc               C   s   t  j j t t t ƒ d  S(   N(   u   testu   supportu   run_unittestu   MemoryviewTestu   MemorySliceTestu   MemorySliceSliceTest(    (    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu	   test_mainï   s    	u   __main__(   u   __doc__u   unittestu   test.supportu   testu   sysu   gcu   weakrefu   CommonMemoryTestsu   TestCaseu   MemoryviewTestu   MemorySliceTestu   MemorySliceSliceTestu	   test_mainu   __name__(    (    (    u1   /mit/python/lib/python3.0/test/test_memoryview.pyu   <module>   s   ´	