§
    ˜Štjº  ã                   óÒ  — d Z ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddl
mZ ddlmZmZmZ d	ed
ee	ef         fd„Zej                             ee¬¦  «        d	ed
dfd„¦   «         Zej                             ee¬¦  «        d	ed
dfd„¦   «         Zej                             ee¬¦  «        d	ed
dfd„¦   «         Zej                             ee¬¦  «        d	ed
dfd„¦   «         ZdS )z9Tests for the Count API endpoint with read_level support.é    )ÚTuple)Úuuid4N)Ú	ClientAPI)Ú
Collection)Ú	ReadLevel)ÚClientFactoriesÚis_spann_disabled_modeÚskip_reason_spann_disabledÚclient_factoriesÚreturnc                 ó²   — |                       ¦   «         }|                     ¦   «          dt          ¦   «         j        › �}|                     |¬¦  «        }||fS )z(Create a test collection with some data.Úcount_api_test_)Úname)Úcreate_client_from_systemÚresetr   ÚhexÚget_or_create_collection)r   ÚclientÚcollection_nameÚ
collections       ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/chromadb/test/api/test_count_api.pyÚ_create_test_collectionr      sV   € ð ×7Ò7Ñ9Ô9€FØ
‡L‚L�N„N€Nà5­©¬¬Ð5Ð5€OØ×0Ò0°oÐ0ÑFÔF€Jà�vÐÐó    )Úreasonc                 óÄ   — t          | ¦  «        \  }}|                     g d¢g d¢g d¢g d¢g d¢g¬¦  «         |                     t          j        ¬¦  «        }|dk    sJ ‚d	S )
zHTest count with ReadLevel.INDEX_AND_WAL (default) returns correct count.©Údoc1Údoc2Údoc3©zapple fruitzbanana fruitzcar vehicle©gš™™™™™¹?çš™™™™™É?ç333333Ó?çš™™™™™Ù?©r"   r#   r$   ç      à?©gÍÌÌÌÌÌì?çš™™™™™é?çffffffæ?ç333333ã?©ÚidsÚ	documentsÚ
embeddings©Ú
read_levelé   N)r   ÚaddÚcountr   ÚINDEX_AND_WAL©r   r   Ú_r3   s       r   Ú(test_count_with_read_level_index_and_walr7      s�   € õ
 ,Ð,<Ñ=Ô=�M€J�à‡N‚NØ$Ð$Ð$Ø@Ð@Ð@Ø(Ð(Ð(Ð*>Ð*>Ð*>Ð@TÐ@TÐ@TÐUð ñ ô ð ð ×Ò­	Ô(?ÐÑ@Ô@€EØ�AŠ:ˆ:ˆ:ˆ:ˆ:ˆ:r   c                 óò   — t          | ¦  «        \  }}|                     g d¢g d¢g d¢g d¢g d¢g¬¦  «         |                     t          j        ¬¦  «        }t          |t          ¦  «        sJ ‚|dk    sJ ‚d	S )
z;Test count with ReadLevel.INDEX_ONLY returns a valid count.r   r    r!   r%   r'   r+   r/   r   N)r   r2   r3   r   Ú
INDEX_ONLYÚ
isinstanceÚintr5   s       r   Ú%test_count_with_read_level_index_onlyr<   0   s£   € õ
 ,Ð,<Ñ=Ô=�M€J�à‡N‚NØ$Ð$Ð$Ø@Ð@Ð@Ø(Ð(Ð(Ð*>Ð*>Ð*>Ð@TÐ@TÐ@TÐUð ñ ô ð ð ×Ò­	Ô(<ÐÑ=Ô=€EÝ�e�SÑ!Ô!Ð!Ð!Ð!Ø�AŠ:ˆ:ˆ:ˆ:ˆ:ˆ:r   c                 óò   — t          | ¦  «        \  }}|                     g d¢g d¢g d¢g d¢g d¢g¬¦  «         |                     t          j        ¬¦  «        }t          |t          ¦  «        sJ ‚|dk    sJ ‚d	S )
zFTest count with ReadLevel.INDEX_AND_BOUNDED_WAL returns a valid count.r   r    r!   r%   r'   r+   r/   r   N)r   r2   r3   r   ÚINDEX_AND_BOUNDED_WALr:   r;   r5   s       r   Ú0test_count_with_read_level_index_and_bounded_walr?   D   s£   € õ
 ,Ð,<Ñ=Ô=�M€J�à‡N‚NØ$Ð$Ð$Ø@Ð@Ð@Ø(Ð(Ð(Ð*>Ð*>Ð*>Ð@TÐ@TÐ@TÐUð ñ ô ð ð ×Ò­	Ô(GÐÑHÔH€EÝ�e�SÑ!Ô!Ð!Ð!Ð!Ø�AŠ:ˆ:ˆ:ˆ:ˆ:ˆ:r   c                 ó¦   — t          | ¦  «        \  }}|                     ddgddgg d¢g d¢g¬¦  «         |                     ¦   «         }|dk    sJ ‚d	S )
zDTest count without explicit read_level uses default (INDEX_AND_WAL).r   r   zhello worldzgoodbye worldr!   )r&   r*   r)   r(   r+   é   N)r   r2   r3   r5   s       r   Útest_count_default_read_levelrB   X   sz   € õ
 ,Ð,<Ñ=Ô=�M€J�à‡N‚NØ�VÐØ  /Ð2Ø(Ð(Ð(Ð*>Ð*>Ð*>Ð?ð ñ ô ð ð ×ÒÑÔ€EØ�AŠ:ˆ:ˆ:ˆ:ˆ:ˆ:r   )Ú__doc__Útypingr   Úuuidr   ÚpytestÚchromadb.apir   Úchromadb.api.models.Collectionr   Úchromadb.api.typesr   Úchromadb.test.conftestr   r	   r
   r   ÚmarkÚskipifr7   r<   r?   rB   © r   r   ú<module>rN      sü  ðØ ?Ð ?à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€à "Ð "Ð "Ð "Ð "Ð "Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø (Ð (Ð (Ð (Ð (Ð (ðð ð ð ð ð ð ð ð ð ð
Ø%ð
à
ˆ:�yÐ Ô!ð
ð 
ð 
ð 
ð „×ÒÐ*Ð3MÐÑNÔNðØ%ðà	ðð ð ñ OÔNðð  „×ÒÐ*Ð3MÐÑNÔNðØ%ðà	ðð ð ñ OÔNðð& „×ÒÐ*Ð3MÐÑNÔNðØ%ðà	ðð ð ñ OÔNðð& „×ÒÐ*Ð3MÐÑNÔNðØ%ðà	ðð ð ñ OÔNðð ð r   