
    LKi'0                     2   S SK r S SKrS SKJr  S SKJr  S SKJs  J	s  Jr  S SK
Jr  S SKJs  Jr  S SKJrJrJrJrJrJrJrJr  S SKJs  J	s  Jr  S SKJrJrJrJr  S SKrS SKJr   " S S\5      r S	\ RB                  S
\SS4S jr"S
\SS4S jr#S
\SS4S jr$g)    N)check_metadata)	ClientAPI)BundleRuleBasedStateMachinerule
initializemultipleconsumesrun_state_machine_as_testMultipleResults)AnyDictMappingOptional)hashing_embedding_functionc            
         ^  \ rS rSr% \\R                     \S'   \\	\
\R                     4   \S'   \" S5      rS\4U 4S jjr\" 5       S$S j5       r\" \\R                  " 5       S	9S
\R                  S\\R                     4S j5       r\" \S9S
\R                  SS4S j5       r\" \" \5      S9S
\R                  SS4S j5       r\" 5       S$S j5       r\" \R2                  " SSS9\R2                  " SSS9S9S\S\SS4S j5       r\" \\R8                  " \R:                  " 5       \R<                  5      \R8                  " \" \5      \R                  " 5       5      S9S
\R                  S\
\R>                     S\\R                     4S j5       r \" \\" \5      \R<                  \R8                  " \R:                  " 5       \RB                  " 5       5      S9S
\R                  S\R>                  S\
\	   S\\R                     4S j5       r"S\	S\
\R                     SS4S  jr#S\	SS4S! jr$\%S\\	\
\R                     4   4S" j5       r&S#r'U =r($ )%CollectionStateMachine   collections_modelclientc                 <   > [         TU ]  5         0 U l        Xl        g N)super__init__r   r   )selfr   	__class__s     i/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/chromadb/test/property/test_collections.pyr   CollectionStateMachine.__init__   s        returnNc                 F    U R                   R                  5         0 U l        g r   )r   resetr   r   s    r   r   !CollectionStateMachine.initialize#   s    r    )targetcollr'   c                    UR                   U R                  ;   d&  UR                  b  [        UR                  5      S:X  af  [        R
                  " [        5         U R                  R                  UR                   UR                  UR                  S9nS S S 5        [        5       $ U R                  R                  UR                   UR                  UR                  S9nU R                  UR                   UR                  5        UR                   UR                   :X  d   e[        U R                  UR                      UR                  5        [        U5      $ ! , (       d  f       [        5       $ = fNr   namemetadataembedding_function)r+   modelr,   lenpytestraises	Exceptionr   create_collectionr-   r	   	set_modelr   r   r'   cs      r   create_coll"CollectionStateMachine.create_coll(   s   
 99

"MM%#dmm*<*Ay)KK11!]]'+'>'> 2  * :KK))]]#66 * 

 	tyy$--0vv"""tzz$)),ajj9~# *) :s   :E
E1)r'   c                    UR                   U R                  ;   am  U R                  R                  UR                   S9nUR                   UR                   :X  d   e[	        U R                  UR                      UR
                  5        g [        R                  " [        5         U R                  R                  UR                   S9  S S S 5        g ! , (       d  f       g = fNr+   )	r+   r.   r   get_collectionr   r,   r0   r1   r2   r5   s      r   get_collCollectionStateMachine.get_collC   s    99

"**		*:A66TYY&&&4::dii0!**=y)**		*: *))s   "$C
Cc                    UR                   U R                  ;   as  [        R                  " U R                  UR                   5         U R                  R                  UR                   S9  U R                  UR                   5        S S S 5        OF[        R                  " [        5         U R                  R                  UR                   S9  S S S 5        [        R                  " [        5         U R                  R                  UR                   S9  S S S 5        g ! , (       d  f       NU= f! , (       d  f       Nf= f! , (       d  f       g = fr:   )r+   r.   
invariantscollection_deletedr   delete_collectiondelete_from_modelr0   r1   r2   r<   )r   r'   s     r   delete_coll"CollectionStateMachine.delete_collM   s    99

"..t{{DIIF--499-=&&tyy1 GF y)--499-= * ]]9%KK&&DII&6 &% GF *) &%s$   ?D($D,.$D=
D),
D:=
Ec                     U R                   R                  5       n[        U5      [        U R                  5      :X  d   eU H  nUR                  U R                  ;   a  M   e   g r   )r   list_collectionsr/   r.   r+   )r   collsr6   s      r   rG   'CollectionStateMachine.list_collectionsZ   sN    ,,.5zS_,,,A66TZZ''' r          )	min_value	max_valuer   limitoffsetrO   rP   c                 &   U R                   R                  XS9nU R                   R                  5       nU R                   R                  5       nXRX!-    nX-   U:  a%  [        U5      [	        XB-
  S5      :X  d   eX6:X  d   eg [        U5      U:X  d   eg )NrN   r   )r   rG   count_collectionsr/   max)r   rO   rP   rH   total_collections	all_colls	man_collss          r   "list_collections_with_limit_offset9CollectionStateMachine.list_collections_with_limit_offsetb   s    
 ,,5,H KK99; KK002	v~6	 >--u:%6%?!CCCC%%% u:&&&r    )r&   new_metadatar'   rY   c                    Ubk  [        U5      S:X  a\  [        R                  " [        5         U R                  R                  UR                  UUR                  S9nS S S 5        [        5       $ UR                  U R                  ;  a,  X!l
        U R                  UR                  UR                  5        U R                  R                  UR                  UUR                  S9nUR                  UR                  :X  d   e[        U R                  UR                     UR                  5        [        U5      $ ! , (       d  f       [        5       $ = fr)   )r/   r0   r1   r2   r   get_or_create_collectionr+   r-   r	   r.   r,   r4   r   )r   r'   rY   r6   s       r   get_or_create_coll)CollectionStateMachine.get_or_create_collx   s   8 #L(9Q(>y)KK88)'+'>'> 9  * : 99DJJ&(MNN499dmm4 KK00!#66 1 
 vv"""tzz$)),ajj9~1 *) :s   0D88
E)r&   r'   rY   new_namer^   c                    UR                   U R                  ;  aP  [        R                  " [        5         U R
                  R                  UR                   S9nS S S 5        [        5       $ U R
                  R                  UR                   S9nU R                  UR                      nUR                   nUbs  [        U5      S:X  a\  [        R                  " [        5         U R
                  R                  UR                   UUR                  S9nS S S 5        [        5       $ X!l        UnUb}  X0R                  ;   aK  X1R                   :w  a<  [        R                  " [        5         UR                  X#S9  S S S 5        [        5       $ U R                  UR                   5        X1l         UnU R                  Xe5        UR                  XVS9  U R
                  R                  UR                   S9nUR                   UR                   :X  d   e[        U R                  UR                      UR                  5        [        U5      $ ! , (       d  f       [        5       $ = f! , (       d  f       [        5       $ = f! , (       d  f       [        5       $ = f)Nr;   r   r*   )r,   r+   )r+   r.   r0   r1   r2   r   r<   r	   r/   r[   r-   r,   modifyrC   r4   r   )r   r'   rY   r^   r6   	_metadata_names          r   modify_coll"CollectionStateMachine.modify_coll   s    99DJJ&y)KK..DII.> *:KK&&DII&615DII1F	YY#< A%]]9-<<!YY!-+/+B+B = A .  z!(M$I::%(ii*?]]9-HHlHB .z!""499- IEu(	)0KK&&DII&6vv"""tzz$)),ajj9~K *): .-  z! .-z!s#   $I 0I$I4 
I
I14
Jr+   r,   c                 $    U R                   nX#U'   g r   r.   )r   r+   r,   r.   s       r   r4    CollectionStateMachine.set_model   s    
 

dr    c                      U R                   nX!	 g r   rf   )r   r+   r.   s      r   rC   (CollectionStateMachine.delete_from_model   s    

Kr    c                     U R                   $ r   )r   r$   s    r   r.   CollectionStateMachine.model   s    {{r    )r   r   )r!   N))__name__
__module____qualname____firstlineno__r   
strategiesExternalCollection__annotations__r   strr   typesCollectionMetadatar   r   r   r   r   r   r7   r=   r
   rD   rG   stintegersintrW   one_ofnonecollection_metadataMetadatar\   collection_namerc   r4   rC   propertyr.   __static_attributes____classcell__)r   s   @r   r   r      s   
5566hu778899'Ky 
 \  
:#9#9#;<11	66	7 =4 
{;Z:: ;t ; ; 
x$%
7
 = = 
7$ 
7 &
7 
V( ( 
kkA3{{Q!4' 'S 'T '	'$ 
YYrwwy**H*HIYYx,j.D.D.FG
0++0 u~~.0 
66	7	0
0d 
k"332779j&@&@&BC	,++, nn, 3-	,
 
66	7,,\ 5334 
	c d  tC%*B*B!CCD  r    r   caplogr   r!   c                 b   ^ U R                  [        R                  5        [        U4S j5        g )Nc                     > [        T 5      $ r   )r   )r   s   r   <lambda>"test_collections.<locals>.<lambda>   s    &<V&Dr    )	set_levelloggingERRORr   )r   r   s    `r   test_collectionsr      s    
W]]#DEr    c                 v   [        U 5      nUR                  5         UR                  [        R                  " SS [        [        R                  SS9S9S S9u  nUR                  [        R                  " SS [        [        R                  SS9S9S S9u  nUR                  USSSS	.S S
9  UR                  US S S
9  g )Njjn2yjLW1zp2Ti_  )dtypedimr*   r'   rY   ig       im)7fGeK5jr'   rY   r^   )	r   r   r\   rp   rq   r   numpyfloat32rc   )r   statev1v6s       r   test_previously_failing_oner      s    "6*E	 $$** 9SVW

  % ER $$** 9SVW

  % ER 
E$tDt   
2D4@r    c                 ,   [        U 5      nUR                  5         UR                  [        R                  " S0 [        S[        R                  S9S9S S9u  nUR                  USSSS	S
S.SS9u  nUR                  [        R                  " SSSSSSSS.[        S[        R                  S9S9SSSSSS.S9  UR                  USS0SS9nUR                  US S9nUR                  [        R                  " SS [        S [        R                  S9S9S S9  g )!NC1030   )r   r   r*   r   100qNYST)r   40p1nviWeL7fO7bVYWq4LEMWjCo
OF5F0MzbQgr   VS0QGhgj:Ui  ipSPFgh_   >)hA1uhUhLEEMfeC_kNweFB3DSaP6H533Ki{  i{  g?g    .G3EtXTZiv  )xVW09xUpDZAgzn1dUTalF-MYyugXZ_hKL35J2SK0l026Ai1iF  )
r   r   r\   rp   rq   r   r   r   rc   float16)r   r   v13v15v17v18s         r   test_previously_failing_twor     se   "6*E	%%**9au}}U

  & FS  
   
FS 
**+",)  : 
 !%
  . 

(3e  C 
"
"$
"
?C	**9cW

   r    )%r0   r   hypothesis.strategiesrp   rv   !chromadb.test.property.invariantsr   !chromadb.test.property.strategiestestr~   chromadb.apir   chromadb.api.typesapirt   hypothesis.statefulr   r   r   r   r	   r
   r   r   r@   typingr   r   r   r   r   r   r   LogCaptureFixturer   r   r    r    r   <module>r      s      " < 6 6 " " "	 	 	 7 6 / /  HY2 YxFV55 Fy FT FA	 Ad A88	 8d 8r    