
    e                     F    d Z ddlZddlmZ ddlmZ  G d de          ZdS )z
Test cases for the Comparisons class over basic literal types.

Int, float, numpy array and BoundingBox comparisons are tested.
    N)BoundingBox)ComparisonTestCasec                   t    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd ZdS )SimpleComparisonTestc                 2    |                      dd           d S )N   assertEqualselfs    Mlib/python3.11/site-packages/holoviews/tests/element/test_comparisonsimple.pytest_ints_equalz$SimpleComparisonTest.test_ints_equal   s    1    c                     	 |                      dd           d S # t          $ r.}|                      t          |          d           Y d }~d S d }~ww xY w)Nr      z3 != 4)r
   AssertionErrorstrr   es     r   test_ints_unequalz&SimpleComparisonTest.test_ints_unequal   sp    	/Qq!!!!! 	/ 	/ 	/SVVX.........	/s    
A#AAc                 2    |                      dd           d S N      @r	   r   s    r   test_floats_equalz&SimpleComparisonTest.test_floats_equal   s    S!!!!!r   c                     	 |                      dd           d S # t          $ rB}t          |                              d          s|                     d          Y d }~d S d }~ww xY w)Nr         @%Floats not almost equal to 6 decimalsz Float mismatch error not raised.)r
   r   r   
startswithfailureExceptionr   s     r   test_floats_unequalz(SimpleComparisonTest.test_floats_unequal   s    	PS%%%%% 	P 	P 	Pq66$$%LMM P++,NOOOP P P P P P	Ps    
A&7A!!A&c                 z    |                      t          j        d          t          j        d                     d S r   )r
   npfloat32r   s    r   test_numpy_floats_equalz,SimpleComparisonTest.test_numpy_floats_equal"   s.    C"*S//:::::r   c                    	 |                      t          j        d          t          j        d                     d S # t          $ rB}t	          |                              d          s|                     d          Y d }~d S d }~ww xY w)Nr   gGz@r   &Numpy float mismatch error not raised.r
   r"   r#   r   r   r   r   r   s     r   test_numpy_floats_unequalz.SimpleComparisonTest.test_numpy_floats_unequal%   s    	ZRZ__bj.>.>????? 	Z 	Z 	Zq66$$%LMM Z//0XYYYZ Z Z Z Z Z	Z   :> 
B
7BB
c                     	 |                      t          j        d          d           d S # t          $ rB}t	          |                              d          s|                     d          Y d }~d S d }~ww xY w)Ng)\(@r   r   r&   r'   r   s     r   !test_float_heterogeneous_unequal1z6SimpleComparisonTest.test_float_heterogeneous_unequal1,       	ZRZ--c22222 	Z 	Z 	Zq66$$%LMM Z//0XYYYZ Z Z Z Z Z	Z   (, 
A87A33A8c                     	 |                      t          j        d          d           d S # t          $ rB}t	          |                              d          s|                     d          Y d }~d S d }~ww xY w)NgRQ@r   r   r&   )r
   r"   float64r   r   r   r   r   s     r   !test_float_heterogeneous_unequal2z6SimpleComparisonTest.test_float_heterogeneous_unequal23   r,   r-   c                    	 |                      t          j        d          t          j        d                     d S # t          $ rB}t          |                              d          s|                     d          Y d }~d S d }~ww xY w)Ng      @g      @r   r&   )r
   r"   r/   r#   r   r   r   r   r   s     r   !test_float_heterogeneous_unequal3z6SimpleComparisonTest.test_float_heterogeneous_unequal3:   s    	ZRZ__bjoo>>>>> 	Z 	Z 	Zq66$$%LMM Z//0XYYYZ Z Z Z Z Z	Zr)   c                     |                      t          j        ddgddgg          t          j        ddgddgg                     d S )N      r   r   )r
   r"   arrayr   s    r   test_arrays_equal_intz*SimpleComparisonTest.test_arrays_equal_intA   sU    Aa5!A-00Aa5!A-00	2 	2 	2 	2 	2r   c                 2   	 |                      t          j        ddgddgg          t          j        ddgddgg                     d S # t          $ rB}t	          |                              d          s|                     d          Y d }~d S d }~ww xY w)Nr4   r5   r   r      %Arrays not almost equal to 6 decimalsz"Integer mismatch error not raised.)r
   r"   r6   r   r   r   r   r   s     r   test_floats_unequal_intz,SimpleComparisonTest.test_floats_unequal_intE   s    	ZRX!uaUm44X!uaUm446 6 6 6 6 	Z 	Z 	Zq66$$%LMM Z"334XYYYZ Z Z Z Z Z	Zs   AA
 

B7BBc                     |                      t          j        ddgddggt          j                  t          j        ddgddggt          j                             d S )Ng      ?g      @r   r   dtype)r
   r"   r6   r#   r   s    r   test_arrays_equal_floatz,SimpleComparisonTest.test_arrays_equal_floatM   sj    C9aU"32:FFFC9aU"32:FFF	H 	H 	H 	H 	Hr   c                 b   	 |                      t          j        ddgddggt          j                  t          j        ddgddggt          j                             d S # t          $ rB}t          |                              d          s|                     d          Y d }~d S d }~ww xY w)	Nr4   r5   r   r   r=   r9   r:   z&Float array mismatch error not raised.)r
   r"   r6   r#   r   r   r   r   r   s     r   test_floats_unequal_floatz.SimpleComparisonTest.test_floats_unequal_floatQ   s    	bRX!uaWoRZHHHX!uaUm2:FFFH H H H H 	b 	b 	bq66$$%LMM b"&"7"78`"a"aab b b b b b	bs   AA" "
B.,7B))B.c                 j    |                      t          d          t          d                     d S )N      ?radiusr
   r   r   s    r   test_bounds_equalz&SimpleComparisonTest.test_bounds_equalY   s?    C000$C000	2 	2 	2 	2 	2r   c                     	 |                      t          d          t          d                     d S # t          $ r.}|                      t          |          d           Y d }~d S d }~ww xY w)NrC   rD   gffffff?z2BoundingBox(radius=0.5) != BoundingBox(radius=0.7)r
   r   r   r   r   s     r   test_bounds_unequalz(SimpleComparisonTest.test_bounds_unequal]   s    	[[444(4446 6 6 6 6 	[ 	[ 	[SVV%YZZZZZZZZZ	[s   26 
A. #A))A.c                 j    |                      t          d          t          d                     d S )NrN   )r   r   pointsrF   r   s    r   test_bounds_equal_lbrtz+SimpleComparisonTest.test_bounds_equal_lbrte   sF    ,=>>>$,=>>>	@ 	@ 	@ 	@ 	@r   c                     	 |                      t          d          t          d                     d S # t          $ r0}d}|                      t          |          |           Y d }~d S d }~ww xY w)NrL   rO   )rM   )r   g      @zNBoundingBox(points=((-1,-1),(3,4.5))) != BoundingBox(points=((-1,-1),(3,5.0)))rI   )r   r   msgs      r   test_bounds_unequal_lbrtz-SimpleComparisonTest.test_bounds_unequal_lbrti   s    	*[0ABBB(0ABBBD D D D D 	* 	* 	*bCSVVS)))))))))	*s   26 
A0 %A++A0N)__name__
__module____qualname__r   r   r   r    r$   r(   r+   r0   r2   r7   r;   r?   rA   rG   rJ   rQ   rT    r   r   r   r      s1         / / /" " "P P P; ; ;Z Z ZZ Z ZZ Z ZZ Z Z2 2 2Z Z ZH H Hb b b2 2 2[ [ [@ @ @* * * * *r   r   )__doc__numpyr"   holoviews.corer   holoviews.element.comparisonr   r   rX   r   r   <module>r]      s         & & & & & & ; ; ; ; ; ;b* b* b* b* b*- b* b* b* b* b*r   