a
    ühP*	  ã                   @   sT   d dl Z G dd„ dƒZdd„ Zdd„ Zd dlZedkrPG d	d
„ d
ejƒZe ¡  dS )é    Nc                   @   sL   e Z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S )ÚT_tc                 C   s   |d | _ |d | _d S )Né   é   ©ÚiÚj)ÚselfZargiZargj© r	   úN/homepages/25/d321765456/htdocs/pub_http_internet/grad-school/src/sack/T_tm.pyÚ__init__   s    
zT_t.__init__c                 C   s   | j |j ko| j|jkS ©Nr   ©ÚaÚbr	   r	   r
   Ú__eq__   s    z
T_t.__eq__c                 C   s
   | |k S r   r	   r   r	   r	   r
   Ú__ne__   s    z
T_t.__ne__c                 C   sB   |j }| jd@ r| }| j | d }| j|j d }t||ƒ}|S )Né   r   r   ©r   r   r   )r   r   ZibiZciZcjÚcr	   r	   r
   Ú__mul__    s    

zT_t.__mul__c                 C   s:   | j  d }| jd@ r | j d }| j d }t||ƒ}|S )Nr   r   r   r   )r   ZbiZbjr   r	   r	   r
   Úinv)   s    


zT_t.invc                 C   s@   t  d|¡ ¡ }t|ƒdkr t‚|  t|d ƒt|d ƒ¡ d S )Nz^(\d)+,(\d+)$é   r   r   )ÚreZmatchÚgroupsÚlenÚIOErrorr   Úint)r   Zstringr   r	   r	   r
   Úscan3   s    zT_t.scanc                 C   s   t | jƒd t | jƒ S )Nú,)Ústrr   r   ©r   r	   r	   r
   Ú__str__9   s    zT_t.__str__c                 C   s   |   ¡ S r   )r!   r    r	   r	   r
   Ú__repr__<   s    zT_t.__repr__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r!   r"   r	   r	   r	   r
   r      s   	
r   c                 C   s   dS ©Nr   r	   )Úparams_stringr	   r	   r
   Úparams_from_string?   s    r(   c                 C   s   t ddƒ}| | ¡ |S r&   )r   r   )Zvalue_stringr'   Úobjr	   r	   r
   Úfrom_stringB   s    

r*   Ú__main__c                   @   s\   e Z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S )Ú
test_casesc                 C   s   d S r   r	   r    r	   r	   r
   Útest___init__M   s    ztest_cases.test___init__c                 C   s   d S r   r	   r    r	   r	   r
   Útest___eq__P   s    ztest_cases.test___eq__c                 C   s   d S r   r	   r    r	   r	   r
   Útest___ne__S   s    ztest_cases.test___ne__c                 C   s   d S r   r	   r    r	   r	   r
   Útest___mul__V   s    ztest_cases.test___mul__c                 C   s   d S r   r	   r    r	   r	   r
   Útest_invY   s    ztest_cases.test_invc                 C   s   d S r   r	   r    r	   r	   r
   Ú	test_scan\   s    ztest_cases.test_scanc                 C   s   d S r   r	   r    r	   r	   r
   Útest___str___   s    ztest_cases.test___str__c                 C   s   d S r   r	   r    r	   r	   r
   Útest___repr__b   s    ztest_cases.test___repr__c                 C   s   d S r   r	   r    r	   r	   r
   Útest_params_from_stringe   s    z"test_cases.test_params_from_stringc                 C   s   d S r   r	   r    r	   r	   r
   Útest_from_stringh   s    ztest_cases.test_from_stringN)r#   r$   r%   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r	   r	   r	   r
   r,   L   s   r,   )	r   r   r(   r*   Zunittestr#   ZTestCaser,   Úmainr	   r	   r	   r
   Ú<module>   s   
* 