o
    iG                     @   sd  d dl Z d dlZd dlmZ d dlZd dlmZm	Z	 e j
jZe jdd Ze jdd Ze jee	gdd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Z d+d, Z!d-d. Z"d/d0 Z#d1d2 Z$d3d4 Z%d5d6 Z&d7d8 Z'd9d: Z(d;d< Z)d=d> Z*d?d@ Z+dAdB Z,dCdD Z-dEdF Z.dS )G    N)assert_equal)	dok_array
dok_matrixc                   C   s
   dddS )N      )r   r   r   r    r	   r	   r	   U/home/kim/smarthome/.venv/lib/python3.10/site-packages/scipy/sparse/tests/test_dok.pyd   s   
r   c                   C   s   t g dg dg dgS )N)r   r   r   )r   r   r   )nparrayr	   r	   r	   r
   A   s   r   )paramsc                 c   s&    |  d}d|d< d|d< |V  d S )N)   r   r   r   r   r   )param)requestr   r	   r	   r
   Asp   s
   

r   c                 C   s.   t t| dh }t t|}||k sJ d S )N__class_getitem__)setdir)r   r   Z	d_methodsZasp_methodsr	   r	   r
   test_dict_methods_covered    s   r   c                 C   s<   |   |  ks
J |   |  |   |  ksJ d S N)itemsclearr   r   r	   r	   r
   
test_clear%   s   r   c                 C   sh   |   |  ks
J |  }| }|  |  ksJ |  |  ks&J d|d< |d dks2J d S )Nr   r   r   )r   copy)r   r   ddaspr	   r	   r
   	test_copy+   s   r    c                  C   s:   g d} t | }g dg dg dg}t| | d S )Nr   )r   r   )r   r   )r   r   r   )r   r   r   )r   r   r   r   fromkeysr   toarrayedgesXdokXr	   r	   r
   test_fromkeys_default4   s   
r)   c                  C   s<   g d} t | d}g dg dg dg}t| | d S )Nr!   )r   r   r*   )r*   r   r   )r   r*   r   r"   r%   r	   r	   r
   test_fromkeys_positional;   s   r+   c                  C   sJ   dd t dD } t| }ddgddgddgddgg}t| | d S )Nc                 s   s    | ]	}||d  fV  qdS )r   Nr	   ).0ar	   r	   r
   	<genexpr>C   s    z)test_fromkeys_iterator.<locals>.<genexpr>   r   r   )ranger   r#   r   r$   )itr'   r(   r	   r	   r
   test_fromkeys_iteratorB   s   
r2   c                 C   st   | d|  dksJ | dd|  ddksJ tjtdd | dd W d    d S 1 s3w   Y  d S )Nr   r   r   c   zout of boundsmatch)r   r/   )getpytestraises
IndexErrorr   r	   r	   r
   test_getH   s
   "r;   c                 C      |  |   ks
J d S r   r   r   r	   r	   r
   
test_itemsN      r>   c                 C   r<   r   )keysr   r	   r	   r
   	test_keysQ   r?   rA   c                 C   s   |  ddks	J | ddksJ |  | ksJ | dd d u s&J | dddks0J tjtdd | d W d    n1 sGw   Y  tjtdd |j ddd	 W d    d S 1 sfw   Y  d S )
Nr   r   )      otherz(22, 21)r5   z"got an unexpected keyword argument   )default)popr   r8   r9   KeyError	TypeErrorr   r	   r	   r
   test_popT   s   "rJ   c                 C   s,   |   |  ks
J |  | ksJ d S r   )popitemr   r   r	   r	   r
   test_popitem`      rL   c                 C   sX   | dddks
J | dddksJ |  dd |  dd |  | ks*J d S )Nr   r/   r   )r   r   )
setdefaultr   r   r	   r	   r
   test_setdefaultd   s
   rO   c                 C   s:   t t || W d    d S 1 sw   Y  d S r   )r8   r9   NotImplementedErrorupdater   r	   r	   r
   test_updatek   s   "rR   c                 C   s    t | t |  ksJ d S r   )listvaluesr   r	   r	   r
   test_valueso   s    rU   c                 C   s   |d | d ks
J d S Nr   r	   r   r	   r	   r
   test_dunder_getitemt   r?   rW   c                 C   s(   d|d< d| d< |   |  ksJ d S )NrE   )r   r   r=   r   r	   r	   r
   test_dunder_setitemw   s   rX   c                 C   s$   |d= | d= |   |  ksJ d S rV   r=   r   r	   r	   r
   test_dunder_delitem|   s   rY   c                 C   s,   d| v d|v ks
J d| v d|v ksJ d S )Nr   r3   r	   r   r	   r	   r
   test_dunder_contains   rM   rZ   c                 C   s   t | t |ks
J d S r   )lenr   r	   r	   r
   test_dunder_len   r?   r\   c                 C   sf   t |tr#tt tt| W d    d S 1 sw   Y  d S tt|tt| ks1J d S r   )
isinstancer   r8   r9   rI   rS   reversedr   r	   r	   r
   test_dunder_reversed   s
   
" r_   c                 C   s   t |tr!tt ||O }W d    d S 1 sw   Y  d S ddi}||O }|d dks1J | |O } |  | ks?J ||O }| | ksMJ d S )Nr3   rE   )r]   r   r8   r9   rI   r   )r   r   r   r	   r	   r
   test_dunder_ior   s   

"r`   c                 C   sn   t |tr!tt ||B  W d    d S 1 sw   Y  d S | | B || B ks+J | | B ||B ks5J d S r   )r]   r   r8   r9   rI   r   r	   r	   r
   test_dunder_or   s   

"ra   c                 C   s   t |tr:tt ||B  W d    n1 sw   Y  tt | |B  W d    d S 1 s3w   Y  d S || ||ksFJ | | || ksRJ | |B sXJ d S r   )r]   r   r8   r9   rI   __ror__r   r	   r	   r
   test_dunder_ror   s   


"rc   c                 C   sb   t j "}|tjj ||k  sJ | |k sJ W d    d S 1 s*w   Y  d S r   	r   ZtestingZsuppress_warningsfilterspsparseZSparseEfficiencyWarningr$   allr   r   supr	   r	   r
   test_dunder_eq   
   "rk   c                 C   s(   ||k   r
J | |k rJ d S r   r$   anyr   r   r	   r	   r
   test_dunder_ne      rp   c                 C   s(   ||k    r
J | |k  rJ d S r   rm   ro   r	   r	   r
   test_dunder_lt   rq   rr   c                 C   s(   ||k   r
J | |k rJ d S r   rm   ro   r	   r	   r
   test_dunder_gt   rq   rs   c                 C   sb   t j "}|tjj ||k  sJ | |k sJ W d    d S 1 s*w   Y  d S r   rd   ri   r	   r	   r
   test_dunder_le   rl   rt   c                 C   sb   t j "}|tjj ||k  sJ | |k sJ W d    d S 1 s*w   Y  d S r   rd   ri   r	   r	   r
   test_dunder_ge   rl   ru   c                 C   s    t dd t| |D sJ d S )Nc                 s   s     | ]\}}||k  V  qd S r   )rh   )r,   r-   r   r	   r	   r
   r.      s    z#test_dunder_iter.<locals>.<genexpr>)rh   zipro   r	   r	   r
   test_dunder_iter   s    rw   )/r8   numpyr   Znumpy.testingr   Zscipyrf   Zscipy.sparser   r   markZthread_unsafeZ
pytestmarkZfixturer   r   r   r   r   r    r)   r+   r2   r;   r>   rA   rJ   rL   rO   rR   rU   rW   rX   rY   rZ   r\   r_   r`   ra   rc   rk   rp   rr   rs   rt   ru   rw   r	   r	   r	   r
   <module>   sT    


	