
    e                     r    d dl mZ d dlmZ d dlmZ d dlmZ dZdZ	dZ
 G d d	ee         Zd
edee   fdZy)    )BaseMatcher)Description)	hasmethod)MatcherzRomilly CockingzCopyright 2011 hamcrest.orgzBSD, see License.txtc                   4    e Zd ZddZdedefdZdeddfdZy)	StringContainsInOrderreturnNc                     |D ]4  }t        |t              rt        | j                  j                  dz          || _        y )Nz requires string arguments)
isinstancestr	TypeError	__class____name__
substrings)selfr   	substrings      M/usr/lib/python3/dist-packages/hamcrest/library/text/stringcontainsinorder.py__init__zStringContainsInOrder.__init__   sA    # 	XIi- 7 7:V VWW	X %    itemc                 v    t        |d      syd}| j                  D ]  }|j                  ||      }|dk(  s y y)NfindFr   T)r   r   r   )r   r   
from_indexr   s       r   _matcheszStringContainsInOrder._matches   sG    v&
 	I9j9JR	 r   descriptionc                 @    |j                  ddd| j                         y )Nza string containing z, z	 in order)append_listr   )r   r   s     r   describe_toz!StringContainsInOrder.describe_to   s     6k4??[r   )r	   N)	r   
__module____qualname__r   r   boolr   r   r    r   r   r   r      s0    %S T \{ \t \r   r   r   r	   c                      t        |  S )a  Matches if object is a string containing a given list of substrings in
    relative order.

    :param string1,...:  A comma-separated list of strings.

    This matcher first checks whether the evaluated object is a string. If so,
    it checks whether it contains a given list of strings, in relative order to
    each other. The searches are performed starting from the beginning of the
    evaluated string.

    Example::

        string_contains_in_order("bc", "fg", "jkl")

    will match "abcdefghijklm".

    )r   )r   s    r   string_contains_in_orderr%       s    $ !*--r   N)hamcrest.core.base_matcherr   hamcrest.core.descriptionr   hamcrest.core.helpers.hasmethodr   hamcrest.core.matcherr   
__author____copyright____license__r   r   r%   r#   r   r   <module>r-      sJ    2 1 5 )
-$\K, \*.# .'#, .r   