
    A>i}!                     ,   S SK rS SKrS SKJrJr  S SKJr   " S S5      r	\R                  R                  S\" S5      \" S5      \" S5      SS S/S	/\" S5      \" S5      \" S5      SSS	/\" S5      \" S
S5      \" S5      SSS/S	/\" S5      \" S5      \" S5      / SQSS/\" S5      \" S5      \" S5      SSS/\" S5      \" S
S5      \" S
S5      SS/SS/\" S5      \" S5      \" S5      S S/S S/S/\" S5      \" S5      \" S5      SSS/\" S5      \" SS5      \" SS5      S/S /S/\" S5      \" S5      \" S5      / SQ/ SQS/\" S5      \" S5      \" S5      SSS/\" S5      \" SS5      \" S5      / SQ/ SQS/\" S5      \" S 5      \" S5      SSS/S	/\" S5      \" S 5      \" S 5      / SS/\" S5      \" S 5      \" S 5      / SS/\" S5      \" S 5      \" S5      SSS/S//5      \R                  R                  S\S /5      S 5       5       rg)    N)Index
RangeIndexc                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestJoin   c           	         [        SSSS9n[        [        R                  " SSS[        R                  S95      nUR                  US	S
S9u  p4nUR                  US	S9n[        R                  " X65        [        / SQ5      n[        R                  " / SQ[        R                  S9n[        R                  " / SQ[        R                  S9n	[        U[        5      (       a2  UR                  [        R                  " [        R                  5      :X  d   e[        U[         5      (       a   e[        R                  " X7S
S9  [        R                  " XH5        [        R                  " XY5        [        SSS5      nUR                  US	S
S9u  p4nUR                  US	S9n[        R                  " X65        [        U[        5      (       a  UR                  [        R                  :X  d   e[        U[         5      (       a   e[        R                  " X75        [        R                  " XH5        [        R                  " XY5        g )Nr         startstopstep      dtypeouterThowreturn_indexersr   )r   r
            
      r                  r	               r   )r      r
      r      r      r   r   r   	   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r+   r   r*   r   r)   r   r(   r
   r'   r   exact)r   r   nparangeint64jointmassert_index_equalarrayintp
isinstancer   assert_numpy_array_equal)
selfindexotherreslidxridx	noidx_resereselidxeridxs
             d/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/indexes/ranges/test_join.pytest_join_outerTestJoin.test_join_outer   s   !4biiB"((;<**U*N4JJu'J2	
c-S
 N''
 N''

 #u%%#))rxx7I*IIIc:....
ct4
##D0
##D0 2r2&**U*N4JJu'J2	
c-#u%%#))rxx*???c:....
c(
##D0
##D0    c           	         [        SSSS9n[        [        R                  " SSS[        R                  S95      nUR                  US	S
S9u  p4nUR                  5       nUR                  U5      nUR                  U5      nUR                  U5      n[        SS/5      n[        R                  " SS/[        R                  S9n[        R                  " SS/[        R                  S9n	[        U[        5      (       a  UR                  [        R                  :X  d   e[        R                  " X75        [        R                  " XH5        [        R                  " XY5        [        SSS5      nUR                  US	S
S9u  p4n[        U[         5      (       d   e[        R                  " X7SS9  [        R                  " XH5        [        R                  " XY5        g )Nr   r	   r
   r   r   r   r   r   innerTr   r   r!   r   r+   r*   equivr,   )r   r   r.   r/   r0   r1   argsorttaker4   r5   r6   r   r2   r3   r7   )
r8   r9   r:   r;   r<   r=   indr?   r@   rA   s
             rB   test_join_innerTestJoin.test_join_inner4   si   !4biiB"((;<**U*N4 kkmhhsmyy~yy~b"X!Qrww/!Qrww/#u%%#))rxx*???
c(
##D0
##D0 2r2&**U*N4#z****
cw7
##D0
##D0rE   c           	         [        SSSS9n[        [        R                  " SSS[        R                  S95      nUR                  US	S
S9u  p4nUn[        R                  " / SQ[        R                  S9n[        U[         5      (       d   e[        R                  " X65        Ub   e[        R                  " XW5        [        [        R                  " SSS[        R                  S95      nUR                  US	S
S9u  p4n[        U[         5      (       d   e[        R                  " X65        Ub   e[        R                  " XW5        g )Nr   r	   r
   r   r   r   r   r   leftTr   )
r   r   r   r   r   r   r   r   r+   r*   )r   r   r.   r/   r0   r1   r4   r5   r6   r2   r3   r7   )r8   r9   r:   r;   r<   r=   r?   rA   s           rB   test_join_leftTestJoin.test_join_leftT   s   !4biiB"((;<**U*M4?rwwO#z****
c(||
##D0 biiB"((;<**U*M4#z****
c(||
##D0rE   c           	         [        SSSS9n[        [        R                  " SSS[        R                  S95      nUR                  US	S
S9u  p4nUn[        R                  " / SQ[        R                  S9n[        U[        5      (       a  UR                  [        R                  :X  d   e[        R                  " X65        [        R                  " XG5        Ub   e[        SSS5      nUR                  US	S
S9u  p4nUn[        U[         5      (       d   e[        R                  " X65        [        R                  " XG5        Ub   eg )Nr   r	   r
   r   r   r   r   r   rightTr   )r   r   r   r   r   r   r   r+   r   r   r   )r   r   r.   r/   r0   r1   r4   r5   r6   r   r2   r3   r7   )r8   r9   r:   r;   r<   r=   r?   r@   s           rB   test_join_rightTestJoin.test_join_rightl   s   !4biiB"((;<**U*N4C277S%''EKK288,CCC
c(
##D0|| 2r2&**U*N4%,,,,
c(
##D0||rE   c                    [        SSSS9n[        / SQ[        S9nUR                  USS9nUR                  USS9n[        / S	Q5      n[        R
                  " X45        [        R
                  " X55        UR                  US
S9nUR                  US
S9n[        / SQ5      n[        R
                  " Xg5        [        R
                  " Xe5        UR                  USS9n[        R
                  " XR                  [        5      5        UR                  USS9n	[        R
                  " X5        UR                  USS9n
[        R
                  " X5        UR                  USS9n[        R
                  " XR                  [        5      5        g )Nr   r	   r
   r   )r(   r   r*   r   r   r   r   r   )r   r
   r(   r   r   r*   r   r   r   r   r   r!   rG   )r   r   r   rO   rS   )r   r   objectr1   r2   r3   astype)r8   r9   r:   r   outer2expectedrG   inner2rO   left2rS   right2s               rB   test_join_non_int_index TestJoin.test_join_non_int_index   sD   !4&f5

5g
.Ew/BC
e,
e.

5g
.Ew/$
e,
e.zz%Vz,
dLL$89

5f
-
e+

5g
.
e+Ew/
fll6&:;rE   c                    [        SSSS9n[        / SQ5      nUR                  USS9u  p4n[        / SQ5      n[        R                  " / S	Q[        R
                  S
9n[        R                  " / SQ[        R
                  S
9n[        R                  " X65        [        R                  " XG5        [        R                  " XX5        g )Nr   r	   r
   r   )r   r   r(   r(   T)r   )r   r
   r   r   r   r   r   r   r   r   r!   )r   r'   r
   r
   r(   r   r)   r   r*   r   r+   r   )r   r   r   r'   r   r   r   r   r   r   r   )	r   r   r1   r.   r4   r5   r2   r3   r7   )	r8   r9   r:   r;   r<   r=   r?   r@   rA   s	            rB   test_join_non_uniqueTestJoin.test_join_non_unique   s    !4l#**UD*A4;<:"''JC277S
c(
##D0
##D0rE   c                 D    [        SSSS9nUR                  X!S9nX#L d   eg )Nr   r	   r
   r   r   )r   r1   )r8   	join_typer9   joineds       rB   test_join_selfTestJoin.test_join_self   s*    !4E1rE    N)__name__
__module____qualname____firstlineno__rC   rL   rP   rT   r^   ra   rf   __static_attributes__rh   rE   rB   r   r      s'    &1P1@102<81rE   r   z8left, right, expected, expected_lidx, expected_ridx, howr
   r(   r'   rO   r	   r$   r   )r   r'   r   rS   rG   )r   r'   r
   r   r   )r   r'   r   r   )r   r   r   r'   
right_typec                 <    [        [        U 5      U R                  S9$ )Nr   )r   listr   )xs    rB   <lambda>rr      s    tAwagg)FrE   c                 n   U R                  U" U5      USS9u  pxn	[        R                  " XrSS9  Uc  XL d   eO9[        R                  " U[        R
                  S9n
[        R                  " X5        Uc  XL d   eg [        R                  " U[        R
                  S9n[        R                  " X5        g )NTr   r,   r   )r1   r2   r3   r.   r4   r5   r7   )rO   rS   rZ   expected_lidxexpected_ridxr   rn   resultr<   r=   exp_lidxexp_ridxs               rB   test_join_preserves_rangeindexry      s    R :e#4#tTF$&$7$$$88M9
##D3$$$88M9
##D3rE   )numpyr.   pytestpandasr   r   pandas._testing_testingr2   r   markparametrizery   rh   rE   rB   <module>r      sx     g gT >	A
1z!}dQFFK	A
1z!}dD&I	A
2r*JqM4"b6R	A
1z!}j$P	A
1z!}dD'JqMr2r2H	
 
A
1z!}q!fq!fgN	A
1z!}dD'J	A
1a(*Q*:QC!gN	A
1z!}j)WU	A
1z!}dD'JqMq!qM	
 
A
1z!}dRHfM	A
1z!}b$H	A
1z!}b$H	A
1z!}dRHgN="F :FG4G"L4rE   