
    rh%                        S SK Jr  S SKrS SKrS SKJr  S SKJr   " S S\R                  5      r\	S:X  a  S SKr\R                  " S\5        gg)	    )annotationsN)common)corpusc                  h    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rSrg)Test   c                "   S H  n[         R                  " U5      nU R                  U5        [        R                  " SS[        U5      5      nU R                  UR                  5       R                  UR                  5       5      X145        M     g )N)z#schumann_clara/opus17/movement3.xmlzschoenberg/opus19/movement2.mxlzpalestrina/agnus_02.krn\\/)r   getWork
assertTrueresubstrlowerendswith)selfknownaworkSlashess       S/home/james-whalen/.local/lib/python3.13/site-packages/music21/corpus/testCorpus.pytestGetPathsTest.testGetPaths   sk    
E
 u%AOOA&&SV4KOOK--/88G+I]^
    c                ,   SSK Jn  / n[        R                  " S5      SS  HT  n[        R                  " U5      nUR
                  S   UR                     R                  5       nUR                  U5        MV     U R                  [        U5      S5        g )Nr   keybach         )music21r   r   getComposerparsepartsKeySignaturefirstappendassertEquallen)r   r   keyObjsfilePathskeyObjs         r   testBachKeysTest.testBachKeys"   sw    **622b9HX&AWWQZ 0 01779FNN6"	 : 	Wq)r   c                v   [         R                  " S5      nU R                  UR                  S5        U R                  UR                  R                  S5        [         R
                  " S5      nU R                  [        U5      S5        [         R
                  " SSS9nU R                  [        U5      S5        g )Naltdeu10zaltdeu10.abcessenFolksong   abcfileExtensions)r   r   r)   nameparentr#   r*   r   r,   filePathCollections      r   testEssenImportTest.testEssenImport-   s    >>*-7--?#//@/0"5#//PXY/0"5r   c                t   [        [        R                  " S5      5      n[        R                  " SSU5      nU R                  UR                  S5      5        [        R                  " S5      nU R                  [        U5      S5        [        R                  " SSS9nU R                  [        U5      S5        g )	NfortunaDunGranTempor
   r   zjosquin/fortunaDunGranTempo.abcjosquin   r5   r7   )
r   r   r   r   r   r   r   r#   assertGreaterEqualr*   r;   s      r   testDesPrezImportTest.testDesPrezImport7   s    v~~&;<=66%h/))*KLM#//	:$6 7;#//	(S$6 7;r   c                d    [         R                  " SSS9nU R                  [        U5      S5        g )Nchinalocalefieldi  r   searchassertGreaterr*   r   searchResultss     r   testSearch01Test.testSearch01I   s'    gX>3}-t4r   c                d    [         R                  " SSS9nU R                  [        U5      S5        g )NSichuanrH   rI   /   r   rL   r)   r*   rN   s     r   testSearch02Test.testSearch02M   s'    ix@]+R0r   c                F   [         R                  " SSS9nU R                  [        U5      S5        [	        S U 5       5      n/ SQn[
        R                  " 5       S:X  a*  U Vs/ s H  oDS   R                  S	S
5      US   4PM     nnOUnU R                  X%5        g s  snf )NTaiwanrH   rI      c              3  d   #    U  H&  n[        UR                  5      UR                  4v   M(     g 7f)N)r   
sourcePathnumber).0searchResults     r   	<genexpr>$Test.testSearch03.<locals>.<genexpr>T   s-      =.;l |6679L9LM.;s   .0))essenFolksong/han1.abc269)rb   270)rb   271)rb   272)rb   273)rb   274)rb   335)rb   528)rb   529)rb   530)essenFolksong/han2.abc204)rm   205)rm   206)rm   207)rm   208)rm   209)rm   210)rm   211)rm   212)rm   213)rm   214)rm   215)rm   216)rm   217)rm   218)rm   219)rm   220winr   r   \   )r   rL   r)   r*   sortedr   getPlatformreplace)r   rO   pathInfoitemstupexpecteds         r   testSearch03Test.testSearch03Q   s    hh?]+R0 =.;= =
: 5(GLMuQT2CF;uHMHH, Ns   $#Bc                d    [         R                  " SSS9nU R                  [        U5      S5        g )NzSichuan|TaiwanrH   rI   J   rU   rN   s     r   testSearch04Test.testSearch04y   s(    &6hG]+R0r   c                f    [         R                  " S5      nU R                  [        U5      S5        g )Nr   x   rK   rN   s     r   testSearch05Test.testSearch05}   s%    f-3}-s3r   c                    [         R                  " SSS9nU R                  [        U5      S5        [         R                  " SSS9nU R	                  [        U5      S5        g )NhaydncomposerrI   r   z
haydn|bach   )r   rL   r)   r*   rC   rN   s     r   testSearch06Test.testSearch06   sL    gZ@]+Q/l*EM 2B7r   c                f    [         R                  " S5      nU R                  [        U5      S5        g )Ncanonr   r   rL   rC   r*   rN   s     r   testSearch07Test.testSearch07   s%    g.M 2A6r   c                d    [         R                  " SSS9nU R                  [        U5      S5        g )Nz3/8timeSignaturerI   ih  rK   rN   s     r   testSearch08Test.testSearch08   s'    e?C3}-s3r   c                d    [         R                  " SSS9nU R                  [        U5      S5        g )Nz3/.r   rI   i  r   rN   s     r   testSearch09Test.testSearch09   s'    e?CM 2D9r   c                    SSK Jn  UR                  S5      n[        R                  " USS9nU R                  [        U5      S:  S[        U5      5        g )Nr   r      keySignaturerI       T)r"   r   r&   r   rL   r)   r*   )r   r   ksrO   s       r   testSearch10Test.testSearch10   sF    a b?]+r14]9KLr    N)__name__
__module____qualname____firstlineno__r   r/   r=   rD   rP   rV   r   r   r   r   r   r   r   r   __static_attributes__r   r   r   r   r      sK    
_	*6<$51&-P14874:Mr   r   __main__	noDocTest)
__future__r   r   unittestr"   r   r   TestCaser   r   mainTestr   r   r   <module>r      sO    # 	   CM8 CMd z[$' r   