
    3j%                        d dl mZ d dlZd dlZd dlmZ d dlmZ  G d dej                        Ze	dk(  rd dlZ ej                  de       yy)	    )annotationsN)common)corpusc                  `    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zy)Testc                   dD ]  }t        j                  |      }| j                  |       t        j                  ddt        |            }| j                  |j                         j                  |j                               ||f        y )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       F/DATA/.local/lib/python3.12/site-packages/music21/corpus/testCorpus.pytestGetPathszTest.testGetPaths   sn    
E
 u%AOOA&&SV4KOOK--/88G+W\I]^
    c                $   ddl m} g }t        j                  d      dd D ]R  }t        j                  |      }|j
                  d   |j                     j                         }|j                  |       T | j                  t        |      d       y )Nr   keybach         )music21r   r   getComposerparsepartsKeySignaturefirstappendassertEquallen)r   r   keyObjsfilePathskeyObjs         r   testBachKeyszTest.testBachKeys!   sw    **622b9HX&AWWQZ 0 01779FNN6"	 : 	Wq)r   c                v   t        j                  d      }| j                  |j                  d       | j                  |j                  j                  d       t        j
                  d      }| j                  t        |      d       t        j
                  dd      }| j                  t        |      d       y )Naltdeu10zaltdeu10.abcessenFolksong   abcfileExtensions)r   r   r'   nameparentr!   r(   r   r*   filePathCollections      r   testEssenImportzTest.testEssenImport,   s    >>*-7--?#//@/0"5#//PXY/0"5r   c                r   t        t        j                  d            }t        j                  dd|      }| j                  |j                  d             t        j                  d      }| j                  t        |      d       t        j                  dd      }| j                  t        |      d       y )	NfortunaDunGranTempor	   r
   zjosquin/fortunaDunGranTempo.abcjosquin   r2   r4   )
r   r   r   r   r   r   r   r!   assertGreaterEqualr(   r8   s      r   testDesPrezImportzTest.testDesPrezImport6   s    v~~&;<=66%h/))*KLM#//	:$6 7;#//	(S$6 7;r   c                h    t        j                  dd      }| j                  t        |      d       y )Nchinalocalefieldi  r   searchassertGreaterr(   r   searchResultss     r   testSearch01zTest.testSearch01H   s'    gX>3}-t4r   c                h    t        j                  dd      }| j                  t        |      d       y )NSichuanrC   rD   /   r   rG   r'   r(   rI   s     r   testSearch02zTest.testSearch02L   s'    ix@]+R0r   c                D   t        j                  dd      }| j                  t        |      d       t	        d |D              }g d}t        j                         dk(  r(|D cg c]  }|d   j                  d	d
      |d   f }}n|}| j                  ||       y c c}w )NTaiwanrC   rD      c              3  ^   K   | ]%  }t        |j                        |j                  f ' y w)N)r   
sourcePathnumber).0searchResults     r   	<genexpr>z$Test.testSearch03.<locals>.<genexpr>S   s.      =.;l |6679L9LM.;s   +-))essenFolksong/han1.abc269)rZ   270)rZ   271)rZ   272)rZ   273)rZ   274)rZ   335)rZ   528)rZ   529)rZ   530)essenFolksong/han2.abc204)re   205)re   206)re   207)re   208)re   209)re   210)re   211)re   212)re   213)re   214)re   215)re   216)re   217)re   218)re   219)re   220winr   r
   \   )r   rG   r'   r(   sortedr   getPlatformreplace)r   rJ   pathInfoitemstupexpecteds         r   testSearch03zTest.testSearch03P   s    hh?]+R0 =.;= =
: 5(GLMuQT2CF;uHMH8, Ns   $!Bc                h    t        j                  dd      }| j                  t        |      d       y )NzSichuan|TaiwanrC   rD   J   rO   rI   s     r   testSearch04zTest.testSearch04x   s(    &6hG]+R0r   c                d    t        j                  d      }| j                  t        |      d       y )Nr   x   rF   rI   s     r   testSearch05zTest.testSearch05|   s%    f-3}-s3r   c                    t        j                  dd      }| j                  t        |      d       t        j                  dd      }| j	                  t        |      d       y )NhaydncomposerrD   r   z
haydn|bach   )r   rG   r'   r(   r?   rI   s     r   testSearch06zTest.testSearch06   sL    gZ@]+Q/l*EM 2B7r   c                d    t        j                  d      }| j                  t        |      d       y )Ncanonry   r   rG   r?   r(   rI   s     r   testSearch07zTest.testSearch07   s%    g.M 2A6r   c                h    t        j                  dd      }| j                  t        |      d       y )Nz3/8timeSignaturerD   ih  rF   rI   s     r   testSearch08zTest.testSearch08   s'    e?C3}-s3r   c                h    t        j                  dd      }| j                  t        |      d       y )Nz3/.r   rD   i  r   rI   s     r   testSearch09zTest.testSearch09   s'    e?CM 2D9r   c                    ddl m} |j                  d      }t        j                  |d      }| j                  t        |      dk\  dt        |             y )Nr   r      keySignaturerD       T)r    r   r$   r   rG   r'   r(   )r   r   ksrJ   s       r   testSearch10zTest.testSearch10   sF    a b?]+r14]9KLr   N)__name__
__module____qualname__r   r-   r:   r@   rK   rP   r   r   r   r   r   r   r   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      sQ    # 	   CM8 CMd zG[$' r   