o
    Jf                     @   s`   d dl Zd dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZ G dd deZdd	 ZdS )
    N)
LineStringMultiLineString)EmptyPartError)dump_coords)MultiGeometryTestCasec                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestMultiLineStringc                 C   s6  t ddgg}t|t sJ t|jdksJ t|ddggks"J tddg}t |g}t|jdks6J t|ddggksAJ t |}t|jdksNJ t|ddggksYJ t dg}t|jd tshJ t|jd ddgksuJ tt |jd  W d    n1 sw   Y  |j	ddd	ksJ d S )
N      ?       @)      @      @           r   r   r   r   r   )r   )typecoordinates)
r   
isinstancelengeomsr   r   pytestraises
IndexError__geo_interface__)selfgeomamlml2 r   w/home/deployuser/azure_apps/autowriter/venv/lib/python3.10/site-packages/shapely/tests/geometry/test_multilinestring.pytest_multilinestring   s*   

z(TestMultiLineString.test_multilinestringc                 C   s   ddg}ddg}t ||g}t |}t|t sJ |jdks J t|jdks)J t|jd |ks4J t|jd |ks?J d S )	N)r   r	   r
   )r   r         @)      @      @       @)g      "@g      $@g      &@r      r   r   )r   r   	geom_typer   r   r   )r   coords1coords2r   copyr   r   r    test_from_multilinestring_z+   s   z/TestMultiLineString.test_from_multilinestring_zc                 C   sJ   t tdg}t|t sJ t|jdksJ t|ddggks#J d S )Nr   r   r   r   )r   nparrayr   r   r   r   )r   r   r   r   r    
test_numpy8   s   zTestMultiLineString.test_numpyc                 C   s,   t ddg}t ddg}| t||g d S )N)r   r	   )r
   r   )r   r"   )r#   r$   )r   subgeom_access_testr   )r   line0line1r   r   r    test_subgeom_access?   s   z'TestMultiLineString.test_subgeom_accessc                 C   sP   d}t jt|d ttg dt gj W d    d S 1 s!w   Y  d S )Nz1Can't create MultiLineString with empty component)match))r   r   )r   r   )r&   r&   )r   r   r   r   r   wkt)r   msgr   r   r    &test_create_multi_with_empty_componentD   s   "z:TestMultiLineString.test_create_multi_with_empty_componentN)__name__
__module____qualname__r!   r+   r.   r2   r6   r   r   r   r    r   
   s     r   c                  C   sD   t ddgddggg} tdt}| g|d d < |d | ks J d S )Nr"   r#   r$   r%   r   r   )r   r,   emptyobject)r   arr   r   r    test_numpy_object_arrayJ   s   r=   )numpyr,   r   shapelyr   r   shapely.errorsr   shapely.geometry.baser   !shapely.tests.geometry.test_multir   r   r=   r   r   r   r    <module>   s    @