
    eL                     ^    d Z ddlmZmZ ddlmZ  G d de          Z G d de          ZdS )	z=
Test cases for Dimension and Dimensioned object comparison.
    )	DimensionDimensioned)ComparisonTestCasec                   f     e Zd Z f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 xZS )DimensionsComparisonTestCasec                    t                                                       t          dd          | _        t          dd          | _        t          dd          | _        t          d          | _        t          dd          | _        t          ddd          | _        t          dddd	
          | _	        t          dddg          | _
        t          dt                    | _        t          dt                    | _        t          dd          | _        t          dd           | _        t          dd           | _        d S )Ndim1r      rangedim2)r      T)cyclic)r   r   msr   r   unitab)values)type)r	   zTest Dimensionc                     | S N xs    Plib/python3.11/site-packages/holoviews/tests/element/test_comparisondimension.py<lambda>z4DimensionsComparisonTestCase.setUp.<locals>.<lambda>       A     )value_formatc                     | S r   r   r   s    r   r   z4DimensionsComparisonTestCase.setUp.<locals>.<lambda>   r   r    )supersetUpr   
dimension1
dimension2
dimension3
dimension4
dimension5
dimension6
dimension7
dimension8int
dimension9floatdimension10dimension11dimension12dimension13self	__class__s    r   r$   z"DimensionsComparisonTestCase.setUp
   s,   #F%888#F%888#F%888#F++#F4888#F4uEEE#F4u4PPP#FC:>>>#F555$V%888$%>eLLL$V++FFF$V++FFFr    c                 F    |                      | j        | j                   d S r   )assertEqualr%   r5   s    r    test_dimension_comparison_equal1z=DimensionsComparisonTestCase.test_dimension_comparison_equal1   s"    $/:::::r    c                 Z    |                      | j        t          dd                     d S )Nr	   r
   r   )r8   r%   r   r9   s    r    test_dimension_comparison_equal2z=DimensionsComparisonTestCase.test_dimension_comparison_equal2   s8    "6777	9 	9 	9 	9 	9r    c           	      ^    |                      | j        t          dddd                     d S )Nr	   Tr
   r   r   )r8   r+   r   r9   s    r    test_dimension_comparison_equal3z=DimensionsComparisonTestCase.test_dimension_comparison_equal3!   sA    "6$e$OOO	Q 	Q 	Q 	Q 	Qr    c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz(Dimension names mismatched: dim1 != dim2)r8   r%   r&   AssertionErrorstrr5   es     r   'test_dimension_comparison_names_unequalzDDimensionsComparisonTestCase.test_dimension_comparison_names_unequal%   sz    	RT_do>>>>> 	R 	R 	RSVV&PQQQQQQQQQ	R    $ 
A#AAc                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz3Dimension labels mismatched: dim1 != Test Dimension)r8   r%   r1   r@   rA   rB   s     r   (test_dimension_comparison_labels_unequalzEDimensionsComparisonTestCase.test_dimension_comparison_labels_unequal+   s{    	]T_d.>????? 	] 	] 	]SVV&[\\\\\\\\\	]rE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz8Dimension parameter 'range' mismatched: (0, 1) != (0, 2))r8   r%   r'   r@   rA   rB   s     r   (test_dimension_comparison_range_unequal1zEDimensionsComparisonTestCase.test_dimension_comparison_range_unequal11   sz    	aT_do>>>>> 	a 	a 	aSVV%_`````````	arE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz6Dimension parameter 'cyclic' mismatched: False != True)r8   r(   r)   r@   rA   rB   s     r   (test_dimension_comparison_cyclic_unequalzEDimensionsComparisonTestCase.test_dimension_comparison_cyclic_unequal7   sz    	_T_do>>>>> 	_ 	_ 	_SVV%]^^^^^^^^^	_rE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz>Dimension parameter 'range' mismatched: (None, None) != (0, 1))r8   r)   r*   r@   rA   rB   s     r   (test_dimension_comparison_range_unequal2zEDimensionsComparisonTestCase.test_dimension_comparison_range_unequal2=   sz    	gT_do>>>>> 	g 	g 	gSVV%efffffffff	grE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz3Dimension parameter 'unit' mismatched: None != 'ms')r8   r*   r+   r@   rA   rB   s     r   'test_dimension_comparison_units_unequalzDDimensionsComparisonTestCase.test_dimension_comparison_units_unequalC   sz    	\T_do>>>>> 	\ 	\ 	\SVV%Z[[[[[[[[[	\rE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz9Dimension parameter 'values' mismatched: [] != ['a', 'b'])r8   r(   r,   r@   rA   rB   s     r   (test_dimension_comparison_values_unequalzEDimensionsComparisonTestCase.test_dimension_comparison_values_unequalI   sz    	bT_do>>>>> 	b 	b 	bSVV%`aaaaaaaaa	brE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)NzGDimension parameter 'type' mismatched: <class 'int'> != <class 'float'>)r8   r.   r0   r@   rA   rB   s     r   'test_dimension_comparison_types_unequalzDDimensionsComparisonTestCase.test_dimension_comparison_types_unequalO   s{    	pT_d.>????? 	p 	p 	pSVV%nooooooooo	prE   c                     |                      | j        | j                   |                     t	          | j        j                  t	          | j        j                             d S r   )r8   r2   r3   assertNotEqualrA   r!   r9   s    r   .test_dimension_comparison_value_format_unequalzKDimensionsComparisonTestCase.test_dimension_comparison_value_format_unequalU   sf    )4+;<<<C 0 =>> 0 =>>	@ 	@ 	@ 	@ 	@r    )__name__
__module____qualname__r$   r:   r<   r>   rD   rG   rI   rK   rM   rO   rQ   rS   rV   __classcell__r6   s   @r   r   r      s       G G G G G ; ; ;9 9 9Q Q QR R R] ] ]a a a_ _ _g g g\ \ \b b bp p p@ @ @ @ @ @ @r    r   c                   H     e Zd Z fdZd Zd Zd Zd Zd Zd Z	d Z
 xZS )	DimensionedComparisonTestCasec                    t                                                       t          d          g| _        t          d          g| _        t          d          g| _        t          d          g| _        t          d| j        | j                  | _        t          d| j        | j                  | _	        t          d| j        | j                  | _
        t          d	g | j                  | _        t          d
| j        g           | _        t          dd| j        | j                  | _        t          ddd| j        | j                  | _        d S )Nval1val2key1key2data1vdimskdimsdata2data3data4data5data6foo)groupre   rf   data7bar)rm   labelre   rf   )r#   r$   r   value_list1value_list2	key_list1	key_list2r   dimensioned1dimensioned2dimensioned3dimensioned4dimensioned5dimensioned6dimensioned7r4   s    r   r$   z#DimensionedComparisonTestCase.setUp^   sf   %f--.%f--.#F++,#F++,'t7G.2n> > >'t7G.2n> > > (t7G.2n> > > (r.2n> > > (t7G.02 2 2 (u.2.>.2n> > > (uE.2.>.2n> > >r    c                 p    |                      | j        t          d| j        | j                             dS )z;Note that the data is not compared at the Dimensioned level
other_datard   N)r8   ru   r   rq   rs   r9   s    r   !test_dimensioned_comparison_equalz?DimensionedComparisonTestCase.test_dimensioned_comparison_equal~   sH    *$\+/+;+/>; ; ;	< 	< 	< 	< 	<r    c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz(Dimension names mismatched: val1 != val2)r8   ru   rv   r@   rA   rB   s     r   .test_dimensioned_comparison_unequal_value_dimszLDimensionedComparisonTestCase.test_dimensioned_comparison_unequal_value_dims   |    	QT.0ABBBBB 	Q 	Q 	QSVV%OPPPPPPPPP	QrE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)Nz(Dimension names mismatched: key1 != key2)r8   ru   rw   r@   rA   rB   s     r   ,test_dimensioned_comparison_unequal_key_dimszJDimensionedComparisonTestCase.test_dimensioned_comparison_unequal_key_dims   r   rE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)NzValue dimension list mismatched)r8   ru   rx   r@   rA   rB   s     r   3test_dimensioned_comparison_unequal_value_dim_listszQDimensionedComparisonTestCase.test_dimensioned_comparison_unequal_value_dim_lists   s|    	HT.0ABBBBB 	H 	H 	HSVV%FGGGGGGGGG	HrE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)NzKey dimension list mismatched)r8   ru   ry   r@   rA   rB   s     r   1test_dimensioned_comparison_unequal_key_dim_listszODimensionedComparisonTestCase.test_dimensioned_comparison_unequal_key_dim_lists   s|    	FT.0ABBBBB 	F 	F 	FSVV%DEEEEEEEEE	FrE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)NzGroup labels mismatched.)r8   ru   rz   r@   rA   rB   s     r   )test_dimensioned_comparison_unequal_groupzGDimensionedComparisonTestCase.test_dimensioned_comparison_unequal_group   s|    	AT.0ABBBBB 	A 	A 	ASVV%?@@@@@@@@@	ArE   c                     	 |                      | j        | j                   d S # t          $ r.}|                      t	          |          d           Y d }~d S d }~ww xY w)NzLabels mismatched.)r8   rz   r{   r@   rA   rB   s     r   )test_dimensioned_comparison_unequal_labelzGDimensionedComparisonTestCase.test_dimensioned_comparison_unequal_label   sw    	;T.0ABBBBB 	; 	; 	;SVV%9:::::::::	;rE   )rW   rX   rY   r$   r~   r   r   r   r   r   r   rZ   r[   s   @r   r]   r]   \   s        > > > > >@< < <Q Q QQ Q QH H HF F FA A A; ; ; ; ; ; ;r    r]   N)__doc__holoviews.corer   r   holoviews.element.comparisonr   r   r]   r   r    r   <module>r      s     2 1 1 1 1 1 1 1 ; ; ; ; ; ;Q@ Q@ Q@ Q@ Q@#5 Q@ Q@ Q@hL; L; L; L; L;$6 L; L; L; L; L;r    