
    e                     >    d 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 the composite types:

Layout (the + operator)
Overlay    (the * operator)

HoloMaps are not tested in this file.
    )Element)ComparisonTestCasec                   n    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S )CompositeComparisonTestCasec                     t          d          | _        t          d          | _        t          d          | _        t          dd          | _        t          dd	          | _        d S )
Ndata1data2data3data5ValBgroupdata6LabelA)label)r   el1el2el3el4el5)selfs    Plib/python3.11/site-packages/holoviews/tests/element/test_comparisoncomposite.pysetUpz!CompositeComparisonTestCase.setUp   s[    7##7##7##7&1117(333    c                 n    | j         | j        z   }| j         | j        z   }|                     ||           d S Nr   r   assertEqualr   t1t2s      r    test_layouttree_comparison_equalz<CompositeComparisonTestCase.test_layouttree_comparison_equal   :    X X R     r   c                     | j         | j        z   | j        z   | j        z   }| j         | j        z   | j        z   | j        z   }|                     ||           d S r   )r   r   r   r   r   r   s      r   &test_layouttree_comparison_equal_largezBCompositeComparisonTestCase.test_layouttree_comparison_equal_large    V    X 48+dh6X 48+dh6R     r   c                     | j         | j        z   }| j         | j        z   }	 |                     ||           d S # t          $ r.}|                     t          |          d           Y d }~d S d }~ww xY wNz'data2' != 'data3'r   r   r   r   AssertionErrorstrr   r    r!   es       r   'test_layouttree_comparison_unequal_datazCCompositeComparisonTestCase.test_layouttree_comparison_unequal_data&       X X 	:R$$$$$ 	: 	: 	:SVV$8999999999	:   8 
A0#A++A0c                    | j         | j        z   }| j         | j                            d          z   }	 |                     ||           d S # t          $ r.}|                     t          |          d           Y d }~d S d }~ww xY wNValAr   zLayouts have mismatched paths.r   r   relabelr   r*   r+   r,   s       r   (test_layouttree_comparison_unequal_pathszDCompositeComparisonTestCase.test_layouttree_comparison_unequal_paths.   s    X X((v(666	GR$$$$$ 	G 	G 	GSVV%EFFFFFFFFF	G   A 
B#A??Bc                     | j         | j        z   }| j         | j        z   | j        z   }	 |                     ||           d S # t          $ r.}|                     t          |          d           Y d }~d S d }~ww xY wNz$Layouts have mismatched path counts.r)   r,   s       r   (test_layouttree_comparison_unequal_sizeszDCompositeComparisonTestCase.test_layouttree_comparison_unequal_sizes6   s    X X 48+	MR$$$$$ 	M 	M 	MSVV%KLLLLLLLLL	M   A   
A8
#A33A8c                 n    | j         | j        z  }| j         | j        z  }|                     ||           d S r   r   r   s      r   test_overlay_comparison_equalz9CompositeComparisonTestCase.test_overlay_comparison_equalB   r#   r   c                     | j         | j        z  | j        z  | j        z  }| j         | j        z  | j        z  | j        z  }|                     ||           d S r   )r   r   r   r   r   r   s      r   #test_overlay_comparison_equal_largez?CompositeComparisonTestCase.test_overlay_comparison_equal_largeG   r&   r   c                     | j         | j        z  }| j         | j        z  }	 |                     ||           d S # t          $ r.}|                     t          |          d           Y d }~d S d }~ww xY wr(   r)   r,   s       r   $test_overlay_comparison_unequal_dataz@CompositeComparisonTestCase.test_overlay_comparison_unequal_dataM   r/   r0   c                    | j         | j        z  }| j         | j                            d          z  }	 |                     ||           d S # t          $ r.}|                     t          |          d           Y d }~d S d }~ww xY wNr3   r   zOverlays have mismatched paths.r4   r,   s       r   %test_overlay_comparison_unequal_pathszACompositeComparisonTestCase.test_overlay_comparison_unequal_pathsU   s    X X((v(666	HR$$$$$ 	H 	H 	HSVV%FGGGGGGGGG	Hr7   c                     | j         | j        z  }| j         | j        z  | j        z  }	 |                     ||           d S # t          $ r.}|                     t          |          d           Y d }~d S d }~ww xY w)Nz%Overlays have mismatched path counts.r)   r,   s       r   %test_overlay_comparison_unequal_sizeszACompositeComparisonTestCase.test_overlay_comparison_unequal_sizes]   s    X X 48+	NR$$$$$ 	N 	N 	NSVV%LMMMMMMMMM	Nr;   c                     | j         | j        z  | j         | j        z  z   }| j         | j        z  | j         | j        z  z   }|                     ||           d S r   r   r   s      r   test_composite_comparison_equalz;CompositeComparisonTestCase.test_composite_comparison_equalj   sV    h!dh&9:h!dh&9:R     r   c                 &   | j         | j        z  | j         | j        z  z   }| j         | j        z  | j         | j        z  z   }	 |                     ||           d S # t          $ r.}|                     t          |          d           Y d }~d S d }~ww xY wr(   r)   r,   s       r   test_composite_unequal_dataz7CompositeComparisonTestCase.test_composite_unequal_datao   s    h!dh&9:h!dh&9:	;R$$$$$ 	; 	; 	;SVV%9:::::::::	;s    A 
B"#BBc                 N   | j         | j        z  | j         | j        z                      d          z   }| j         | j        z  | j         | j        z  z   }	 |                     ||           d S # t
          $ r.}|                     t          |          d           Y d }~d S d }~ww xY wr2   r   r   r5   r   r   r*   r+   r,   s       r   "test_composite_unequal_paths_outerz>CompositeComparisonTestCase.test_composite_unequal_paths_outerw   s    h!dh&9%B%B%B%P%PPh!dh&9:	GR$$$$$ 	G 	G 	GSVV%EFFFFFFFFF	G   A, ,
B$6#BB$c                 N   | j         | j        z  | j         | j                            d          z  z   }| j         | j        z  | j         | j        z  z   }	 |                     ||           d S # t
          $ r.}|                     t          |          d           Y d }~d S d }~ww xY wrC   rL   r,   s       r   "test_composite_unequal_paths_innerz>CompositeComparisonTestCase.test_composite_unequal_paths_inner   s    h!dh1A1A1A1O1O&OPh!dh&9:	HR$$$$$ 	H 	H 	HSVV%FGGGGGGGGG	HrN   c                 6   | j         | j        z  | j         | j        z  z   | j        z   }| j         | j        z  | j         | j        z  z   }	 |                     ||           d S # t          $ r.}|                     t          |          d           Y d }~d S d }~ww xY wr9   r)   r,   s       r   test_composite_unequal_sizesz8CompositeComparisonTestCase.test_composite_unequal_sizes   s    h!dh&9:TXEh!dh&9:	MR$$$$$ 	M 	M 	MSVV%KLLLLLLLLL	Ms   A   
B*#BBN)__name__
__module____qualname__r   r"   r%   r.   r6   r:   r=   r?   rA   rD   rF   rH   rJ   rM   rP   rR    r   r   r   r      s       4 4 4! ! !
! ! !: : :G G GM M M! ! !
! ! !: : :H H HN N N! ! !
; ; ;G G GH H HM M M M Mr   r   N)__doc__	holoviewsr   holoviews.element.comparisonr   r   rV   r   r   <module>rZ      s~           ; ; ; ; ; ;@M @M @M @M @M"4 @M @M @M @M @Mr   