o
    ýÑÐbà  ã                   @   sÖ   d Z ddlmZ ddlZG dd„ deƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZG dd„ deƒZ	G dd„ deƒZ
G dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ de	ee
eƒZG dd„ de	eeƒZdS )zTest abstract-method warning.é    )Úprint_functionNc                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚAbstractc                 C   ó   t ƒ ‚©z&should be overridden in concrete class©ÚNotImplementedError©Úself© r
   úi/var/www/secure340b-portal/env/lib/python3.10/site-packages/pylint/test/functional/abstract_method_py2.pyÚaaaa	   ó   zAbstract.aaaac                 C   r   r   r   r   r
   r
   r   Úbbbb   r   zAbstract.bbbbN)Ú__name__Ú
__module__Ú__qualname__r   r   r
   r
   r
   r   r      s    r   c                   @   ó   e Zd ZdZdd„ ZdS )Ú	AbstractBz†Abstract class.

    this class is checking that it does not output an error msg for
    unimplemeted methods in abstract classes
    c                 C   r   r   r   r   r
   r
   r   Úcccc   r   zAbstractB.ccccN)r   r   r   Ú__doc__r   r
   r
   r
   r   r      s    r   c                   @   r   )ÚConcretezConcrete classc                 C   s   dS )zoveridden form AbstractNr
   r   r
   r
   r   r      s    zConcrete.aaaaN)r   r   r   r   r   r
   r
   r
   r   r      s    r   c                   @   sJ   e Zd ZejZejdd„ ƒZejdd„ ƒZejdd„ ƒZ	ejdd„ ƒZ
d	S )
Ú	Structurec                 C   ó   d S ©Nr
   r   r
   r
   r   Ú__iter__&   ó   zStructure.__iter__c                 C   r   r   r
   r   r
   r
   r   Ú__len__)   r   zStructure.__len__c                 C   r   r   r
   ©r	   Ú_r
   r
   r   Ú__contains__,   r   zStructure.__contains__c                 C   r   r   r
   r   r
   r
   r   Ú__hash__/   r   zStructure.__hash__N)r   r   r   ÚabcÚABCMetaÚ__metaclass__Úabstractmethodr   r   r   r    r
   r
   r
   r   r   #   s    


r   c                   @   ó   e Zd Zdd„ ZdS )Ú	Containerc                 C   r   r   r
   r   r
   r
   r   r   6   ó   zContainer.__contains__N)r   r   r   r   r
   r
   r
   r   r&   5   ó    r&   c                   @   r%   )ÚSizablec                 C   r   r   r
   r   r
   r
   r   r   <   r'   zSizable.__len__N)r   r   r   r   r
   r
   r
   r   r)   ;   r(   r)   c                   @   s   e Zd ZdZdS )ÚHashableé*   N)r   r   r   r    r
   r
   r
   r   r*   A   s    r*   c                   @   s   e Zd Zdd„ ZeZdS )ÚIteratorc                 C   s   t g d¢ƒS )N)é   é   é   )Úiterr   r
   r
   r   ÚkeysG   s   zIterator.keysN)r   r   r   r1   r   r
   r
   r
   r   r,   F   s    r,   c                   @   s   e Zd Zejdd„ ƒZeZdS )ÚAbstractSizablec                 C   r   r   r
   r   r
   r
   r   ÚlengthN   r   zAbstractSizable.lengthN)r   r   r   r!   r$   r3   r   r
   r
   r
   r   r2   M   s    
r2   c                   @   ó   e Zd ZdS )ÚGoodComplexMRON©r   r   r   r
   r
   r
   r   r5   T   ó    r5   c                   @   r4   )ÚBadComplexMroNr6   r
   r
   r
   r   r8   Y   r7   r8   )r   Ú
__future__r   r!   Úobjectr   r   r   r   r&   r)   r*   r,   r2   r5   r8   r
   r
   r
   r   Ú<module>   s    

