
    $g              	           d dl Z d dlmZmZmZmZ d dlmZ d Zd Z	d Z
d Ze j                            dg d	g d
dedgg dg          d             Ze j                            dg di dddf          d             ZdS )    N)	INET_ATON	INET_PTONAddrFormatErrorZEROFILL)ipv4c                     d} d}d}d}d}d}t          j        |           |k    sJ t          j        |          | k    sJ t          j        |          |k    sJ t          j        |          |k    sJ t          j        |          |k    sJ t          j        |          |k    sJ t          j        |          |k    sJ t          j        |          |k    sJ t          j        t          |                    |k    sJ t          j	        |          sJ t          j
        |          |k    sJ t          j        |          |k    sJ d S )Nz#11000000.00000000.00000010.00000001l      )   r         z	192.0.2.1"0b11000000000000000000001000000001s    )r   bits_to_intint_to_bits
int_to_strint_to_words
int_to_bin
bin_to_intwords_to_intlist	valid_binint_to_packedpacked_to_int)bitsbin_valps         i/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/netaddr/tests/strategy/test_ipv4_strategy.pytest_strategy_ipv4r      sr   -AAAA2GAA!####A!####?1""""Q1$$$$?1((((?1((((?7##q((((Q1$$$$T!WW%%****>'"""""a  A%%%%a  A%%%%%%    c                     t          j        dt                    dk    sJ t          j        dt                    dk    sJ t          j        dt                    dk    sJ t          j        dt                    dk    sJ t          j        dt                    dk    sJ t          j        d	t                    dk    sJ t          j        d
t                    dk    sJ d S )N127flags   0x7f0177127.1  0x7f.10177.1	127.0.0.1)r   
str_to_intr    r    r   !test_strategy_inet_aton_behaviourr/      s     ?5	222c9999?6333s::::?6333s::::?7)444
BBBB?89555CCCC?89555CCCC?;i888JFFFFFFr    c                      t          j        t                    5  t          j        dt
                     d d d            d S # 1 swxY w Y   d S )Nzfe80::r#   )pytestraisesr   r   r-   r   r.   r    r   4test_str_to_int_correctly_rejects_ipv6_with_zerofillr3   *   s    		'	' 2 211112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s   AA
Ac                     t          j        t                    5  t          j        dt
                     d d d            n# 1 swxY w Y   t          j        t                    5  t          j        dt
                     d d d            n# 1 swxY w Y   t          j        t                    5  t          j        dt
                     d d d            n# 1 swxY w Y   t          j        t                    5  t          j        dt
                     d d d            n# 1 swxY w Y   t          j        t                    5  t          j        dt
                     d d d            n# 1 swxY w Y   t          j        t                    5  t          j        dt
                     d d d            n# 1 swxY w Y   t          j        dt
                    d	k    sJ d S )
Nr"   r#   r&   r'   r(   r*   r+   r,   r)   )r1   r2   r   r   r-   r   r.   r    r   !test_strategy_inet_pton_behaviourr5   /   s    
	'	' 0 0Y////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
	'	' 1 1i00001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
	'	' 1 1i00001 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
	'	' 2 2y11112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
	'	' 3 3	22223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 
	'	' 3 3	22223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ?;i888JFFFFFFsk   AA	A&BBB2CC!C>D&&D*-D*
E22E69E6F>>GGaddressr$   valid) r   F)192r   Fr:   T)r,   r   Tc                 8    t          j        | |          |u sJ d S N)r   	valid_strr6   s      r   test_valid_strr>   J   s'     >'5))U222222r    	str_valuer.   Fr	   c                     t          j        t                    5  t          j        |            d d d            d S # 1 swxY w Y   d S r<   )r1   r2   	TypeErrorr   r=   )r?   s    r   test_valid_str_unexpected_typesrB   W   s     
y	!	! " "y!!!" " " " " " " " " " " " " " " " " "s   <A A )r1   netaddrr   r   r   r   netaddr.strategyr   r   r/   r3   r5   markparametrizer>   rB   r.   r    r   <module>rG      s5    C C C C C C C C C C C C ! ! ! ! ! !& & &,
G 
G 
G2 2 2
G G G6 !		4 	 3 3 3 



 
" "
 
" " "r    