o
    Ûñhó
  ã                   @   sT   d dl Z d dlZd dlZd dlmZmZ dd„ Zdd„ Zdd„ Z	d	d
„ Z
dd„ ZdS )é    N)ÚStringBuilderÚStringViewBuilderc                  C   s2   t ƒ } t | ¡}|ƒ d usJ ‚~ |ƒ d u sJ ‚d S )N)r   ÚweakrefÚref)ÚsbuilderÚwr© r   úN/var/www/vscode/kcb/lib/python3.10/site-packages/pyarrow/tests/test_builder.pyÚtest_weakref   s
   
r
   c                  C   s®   t ƒ } |  d¡ |  d¡ |  tj¡ |  d ¡ t| ƒdks J ‚| jdks'J ‚|  ¡ }t| ƒdks3J ‚t|tj	ƒs;J ‚|jdksBJ ‚|j
dksIJ ‚g d¢}| ¡ |ksUJ ‚d S )Nó   a byte stringúa stringé   é   r   Ústr)úa byte stringr   NN)r   ÚappendÚmathÚnanÚlenÚ
null_countÚfinishÚ
isinstanceÚpaÚArrayÚtypeÚ	to_pylist©r   ÚarrÚexpectedr   r   r	   Útest_string_builder_append!   s   


r   c                  C   s\   t ƒ } |  tjd dd dg¡ | jdksJ ‚|  ¡ }|jdks J ‚g d¢}| ¡ |ks,J ‚d S )NÚtextú
other texté   ©NNr    Nr!   )r   Úappend_valuesr   r   r   r   r   r   r   r   r	   Ú!test_string_builder_append_values2   s   r%   c                  C   sJ   t ƒ } |  tjd dd dg¡ |  ¡ }|  d¡ g d¢}| ¡ |ks#J ‚d S )Nr    r!   z	No effectr#   )r   r$   r   r   r   r   r   r   r   r   r	   Ú'test_string_builder_append_after_finish<   s   
r&   c                  C   s¬   t ƒ } |  d¡ |  d¡ |  d¡ |  tj¡ |  d dg¡ t| ƒdks'J ‚| jdks.J ‚|  ¡ }t|t	j
ƒs:J ‚|jdksAJ ‚|jdksHJ ‚g d¢}| ¡ |ksTJ ‚d S )	Nr   r   úa longer not-inlined stringr    é   r   Ústring_view)r   r   r'   NNr    )r   r   r   r   r$   r   r   r   r   r   r   r   r   )Úbuilderr   r   r   r   r	   Útest_string_view_builderE   s   


r+   )r   r   Úpyarrowr   Úpyarrow.libr   r   r
   r   r%   r&   r+   r   r   r   r	   Ú<module>   s   
	