�
㦧b7 � �p � d dl Z d dlmZ d dlmZ d dlmZ ej j Z G d� dej � � Z
dS )� N)�matchers)�base)�versionc �� � e Zd Zd� Zd� Zd� Zd� Zd� Zd� Zd� Z d� Z
d � Zd
� Zd� Z
d� Zd
� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Z d� Z!d S )!�TestSemanticVersionc � � g d�}|D ]I}t j � |� � }| � |t j |� � � � �Jt
j |d� � D ]�\ }}|� |� � }|� |� � }||k rt j }t j
} nt j
}t j } t j � |� � }
t j � |� � }| � |
||� � � � | � | | |
� � � � ��d S )N)z
1.2.3.dev6z
1.2.3.dev7z1.2.3.a4.dev12z1.2.3.a4.dev13z1.2.3.a4z
1.2.3.a5.dev1z1.2.3.a5z
1.2.3.b3.dev1z1.2.3.b3z1.2.3.rc2.dev1z 1.2.3.rc2z1.2.3.rc3.dev1�1.2.3�1.2.4z1.3.3z2.2.3� )r �SemanticVersion�from_pip_string�
expectThatr �Equals� itertools�combinations�index�LessThan�GreaterThan)�self�ordered_versions�v�sv�left�right�l_pos�r_pos�m1�m2�left_sv�right_svs �8/usr/lib/python3/dist-packages/pbr/tests/test_version.py�
test_orderingz!TestSemanticVersion.test_ordering s? � �
�
�
��$ "� 5� 5�A��(�8�8��;�;�B��O�O�B���� 3� 3�4�4�4�4�$�1�2B�A�F�F� 3� 3�K�D�%�$�*�*�4�0�0�E�$�*�*�5�1�1�E��u�}�}��&���)����)���&���-�=�=�d�C�C�G��.�>�>�u�E�E�H��O�O�G�R�R��\�\�2�2�2��O�O�H�b�b��k�k�2�2�2�2� 3� 3� c � � t j ddddd�� � }t d� � }| � ||� � d S )N� r r �rc��prerelease_type�
prereleasez1.2.0rc1�r r r
�assertEqual�r �expected�parseds r! �!test_from_pip_string_legacy_alphaz5TestSemanticVersion.test_from_pip_string_legacy_alphaA sM � ��*�
�q�!�T�a�9� 9� 9�� ��,�,������6�*�*�*�*�*r# c � � t j dddd�� � }t d� � }| � |t j |� � � � t j dddddd �� � }t d
� � }| � |t j |� � � � | � d� t j t � � � � d S )Nr% r � � �� dev_countz1.2.3.post5� �a� z1.2.3.0a4.post6c � � t d� � S )Nz1.2.3.post5.dev6�r
� r# r! �<lambda>zGTestSemanticVersion.test_from_pip_string_legacy_postN.<locals>.<lambda>T s � �O�$6�7�7� r# )r r r
r r r �raises�
ValueErrorr, s r! �!test_from_pip_string_legacy_postNz5TestSemanticVersion.test_from_pip_string_legacy_postNG s� � �
�*�1�a��a�@�@�@�� ��/�/������(�/�&�"9�"9�:�:�:��*�1�a��C��a�H�H�H�� �!2�3�3������(�/�&�"9�"9�:�:�:����7�7��O�J�'�'� )� )� )� )� )r# c � � t d� � }t j ddd� � }| � |t j |� � � � t j dddddd�� � }t d � � }| � |t j |� � � � | � d
� t j t � � � � d S )Nzv1.2.3r% r r5 r6 r2 r7 r3 zV1.2.3.0a4.post6c � � t d� � S )Nzx1.2.3r9 r: r# r! r; zDTestSemanticVersion.test_from_pip_string_v_version.<locals>.<lambda>a s � �O�H�-�-� r# )r
r r r r r r< |