
    rhp.                       S SK Jr  S SKrS SKrS SKrS SKr " S S5      r " S S\5      r " S S\5      r " S	 S
\5      r	 " S S\5      r
 " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\5      r " S% S&\5      r " S' S(\5      r " S) S*\5      r " S+ S,\5      r " S- S.\5      r " S/ S0\5      r " S1 S2\5      r " S3 S4\5      r " S5 S6\5      r " S7 S8\5      r  " S9 S:\5      r! " S; S<\5      r" " S= S>\5      r#S? r$\%S@:X  a	  \$" \#5        gg)A    )annotationsNc                      \ rS rSrSrSrg)Test   z7
Base class for timed tests that need music21 imported
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       Q/home/james-whalen/.local/lib/python3.13/site-packages/music21/test/timeGraphs.pyr   r      s    r   r   c                      \ rS rSrS rSrg)TestTimeHumdrum    c                    [         R                  R                  [         R                  R                  R
                  5        g N)music21	converterparsehumdrum	testFilesmazurka6selfs    r   	testFocusTestTimeHumdrum.testFocus!   s&     9 9 B BCr   r   Nr   r	   r
   r   r   r   r   r   r   r   r       s    Dr   r   c                      \ rS rSrS rSrg)TestTimeMozart$   c                    [         R                  R                  [         R                  R	                  S5      S   5        g )Nk155r   )r   r   r   corpusgetWorkr   s    r   r   TestTimeMozart.testFocus%   s*     6 6v >q ABr   r   Nr   r   r   r   r!   r!   $   s    Cr   r!   c                      \ rS rSrS rSrg)TestTimeIsmir1   c                B    [         R                  R                  S5        g )Nzbach/bwv248r   r%   r   r   s    r   r   TestTimeIsmir.testFocus2   s    ]+r   r   Nr   r   r   r   r)   r)   1   s    ,r   r)   c                  .   ^  \ rS rSrU 4S jrS rSrU =r$ )TestMakeMeasures6   c                   > [         TU ]  5         [        R                  R	                  5       U l        [        S5       H<  n[        R                  R                  5       nU R
                  R                  U5        M>     g )N
   )
super__init__r   streamStreamsrangenoteNoteappendr   in	__class__s      r   r4   TestMakeMeasures.__init__7   sR    &&(rA!!#AFFMM! r   c                8    U R                   R                  5         g r   )r7   makeMeasuresr   s    r   r   TestMakeMeasures.testFocus>   s    r   r7   r   r	   r
   r   r4   r   r   __classcell__r?   s   @r   r/   r/   6   s     r   r/   c                  .   ^  \ rS rSrU 4S jrS rSrU =r$ )TestMakeTiesB   c                J  > [         TU ]  5         [        R                  R	                  5       U l        [        S5       HC  n[        R                  R                  5       nSUl	        U R
                  R                  U5        ME     U R
                  R                  5       U l        g )Nd      r3   r4   r   r5   r6   r7   r8   r9   r:   quarterLengthr;   rB   r<   s      r   r4   TestMakeTies.__init__C   so    &&(sA!!#AAOFFMM!  $$&r   c                6    U R                   R                  SS9  g NT)inPlace)r7   makeTiesr   s    r   r   TestMakeTies.testFocusM   s    %r   rD   rE   rG   s   @r   rI   rI   B   s    '& &r   rI   c                  .   ^  \ rS rSrU 4S jrS rSrU =r$ )TestMakeBeamsQ   c                J  > [         TU ]  5         [        R                  R	                  5       U l        [        S5       HC  n[        R                  R                  5       nSUl	        U R
                  R                  U5        ME     U R
                  R                  5       U l        g NrL   g      ?rN   r<   s      r   r4   TestMakeBeams.__init__R   so    &&(sA!!#A"AOFFMM!  $$&r   c                6    U R                   R                  SS9  g rR   )r7   	makeBeamsr   s    r   r   TestMakeBeams.testFocus\   s    &r   rD   rE   rG   s   @r   rW   rW   Q   s    '' 'r   rW   c                  .   ^  \ rS rSrU 4S jrS rSrU =r$ )TestMakeAccidentals`   c                J  > [         TU ]  5         [        R                  R	                  5       U l        [        S5       HC  n[        R                  R                  5       nSUl	        U R
                  R                  U5        ME     U R
                  R                  5       U l        g rZ   rN   r<   s      r   r4   TestMakeAccidentals.__init__a   so    &&(sA!!#A"AOFFMM!  $$&r   c                6    U R                   R                  SS9  g rR   )r7   makeAccidentalsr   s    r   r   TestMakeAccidentals.testFocusl   s    t,r   rD   rE   rG   s   @r   r`   r`   `   s    	'- -r   r`   c                       \ rS rSrS rS rSrg)TestMusicXMLOutputp   c                    [         R                  R                  5       U l        [	        S5       HC  n[         R
                  R                  5       nSUl        U R                  R                  U5        ME     g )NrL   g      ?)	r   r5   r6   r7   r8   r9   r:   rO   r;   )r   r=   r>   s      r   r4   TestMusicXMLOutput.__init__q   sM    &&(sA!!#A!AOFFMM! r   c                :    U R                   R                  S5        g Nmusicxmlr7   writer   s    r   r   TestMusicXMLOutput.testFocusx       Z r   rD   Nr   r	   r
   r   r4   r   r   r   r   r   rh   rh   p   s    !r   rh   c                  $    \ rS rSrSrS rS rSrg)TestMusicXMLOutputParts|   z[
This tries to isolate a problem whereby part
creation is much faster than score creation.
c                :    SSK Jn  UR                  SSS9U l        g )Nr   r%   bach/bwv66.6TforceSourcer   r%   r   r7   r   r%   s     r   r4    TestMusicXMLOutputParts.__init__   s    "n$?r   c                `    U R                   R                   H  nUR                  S5        M     g rm   )r7   partsrp   )r   ps     r   r   !TestMusicXMLOutputParts.testFocus   s     AGGJ r   rD   N)r   r	   r
   r   r   r4   r   r   r   r   r   ru   ru   |   s    @ r   ru   c                       \ rS rSrS rS rSrg)TestCreateTimeSignature   c                :    SSK Jn  UR                  5       U l        g Nr   )testPerformancemusic21.testr   r   tr   r   s     r   r4    TestCreateTimeSignature.__init__       0 %%'r   c                8    U R                   R                  5         g r   )r   runCreateTimeSignaturesr   s    r   r   !TestCreateTimeSignature.testFocus   s    &&(r   r   Nrs   r   r   r   r   r      s    ()r   r   c                       \ rS rSrS rS rSrg)TestCreateDurations   c                :    SSK Jn  UR                  5       U l        g r   r   r   s     r   r4   TestCreateDurations.__init__   r   r   c                8    U R                   R                  5         g r   )r   runCreateDurationsr   s    r   r   TestCreateDurations.testFocus   s    !!#r   r   Nrs   r   r   r   r   r      s    ($r   r   c                       \ rS rSrS rS rSrg)TestParseABC   c                :    SSK Jn  UR                  5       U l        g r   r   r   s     r   r4   TestParseABC.__init__   r   r   c                8    U R                   R                  5         g r   )r   runParseABCr   s    r   r   TestParseABC.testFocus   s    r   r   Nrs   r   r   r   r   r      s    (r   r   c                       \ rS rSrS rS rSrg)TestGetContextByClassA   c                    SSK Jn  SSK Jn  SSK Jn  SSK Jn  UR                  S5      U l        X l        X0l        X@l	        g )Nr   rx   meterclef)keybwv66.6)
r   r%   r   r   r   r   r7   mck)r   r%   r   r   r   s        r   r4   TestGetContextByClassA.__init__   s-    "! i(r   c                P   U R                   nU R                  nU R                  nU R                  R                   H  nUR                  [        R                  R                  5       H  nUR                  UR                  5        UR                  UR                  5        UR                  UR                  5        UR                   HT  nUR                  UR                  5        UR                  UR                  5        UR                  UR                  5        MV     M     M     g r   )r   r   r   r7   r   getElementsByClassr   r5   MeasuregetContextByClassClefTimeSignatureKeySignaturenotesAndRests)r   r   r   r   r   r   r>   s          r   r    TestGetContextByClassA.testFocus   s    vvffA))'..*@*@A##DII.##E$7$78##C$4$45A''		2''(;(;<''(8(89 )	 B r   )r   r   r   r7   Nrs   r   r   r   r   r      s    :r   r   c                       \ rS rSrS rS rSrg)TestParseRNText   c                :    SSK Jn  UR                  5       U l        g r   r   r   s     r   r4   TestParseRNText.__init__   r   r   c                8    U R                   R                  5         g r   )r   runParseMonteverdiRNTextr   s    r   r   TestParseRNText.testFocus   s    '')r   r   Nrs   r   r   r   r   r      s    (*r   r   c                       \ rS rSrS rS rSrg)TestMusicXMLMultiPartOutput   c                   SSK Jn  SSK Jn  UR                  5       U l        [        S5       H  nUR                  5       n[        S5       HB  nUR                  5       nUR                  UR                  SS95        UR                  U5        MD     SUl
        U R                  R                  SU5        M     U R                  R                  SS	9 H
  nSUl
        M     g )
Nr   r9   r5   r2   quarter)typeFT)streamsOnly)r   r9   r5   Scorer7   r8   Partr   r;   r:   _mutableinsertrecurse)r   r9   r5   r=   r   jr   objs           r   r4   $TestMusicXMLMultiPartOutput.__init__   s     "rAA2YNN$	23  AJFFMM!Q  66>>d>3C CL 4r   c                :    U R                   R                  S5        g rm   ro   r   s    r   r   %TestMusicXMLMultiPartOutput.testFocus   rr   r   rD   Nrs   r   r   r   r   r      s    !$!r   r   c                       \ rS rSrS rS rSrg)TestCommonContextSearches   c                <    SSK Jn  UR                  S5      U l        g Nr   rx   r   r|   r}   s     r   r4   "TestCommonContextSearches.__init__       "i(r   c                    U R                   R                  S   R                  [        R                  R
                  5      S   R                  [        R                  R                  5        g )Nr      )	r7   r   r   r   r5   r   r   r   r   r   s    r   r   #TestCommonContextSearches.testFocus   sE    Q**7>>+A+A 	--.	00A0A'--B]B]0^r   rD   Nrs   r   r   r   r   r      s    )_r   r   c                       \ rS rSrS rS rSrg)TestBigMusicXML   c                <    SSK Jn  UR                  S5      U l        g )Nr   rx   	opus41no1r|   r}   s     r   r4   TestBigMusicXML.__init__  s    "k*r   c                :    U R                   R                  S5        g rm   ro   r   s    r   r   TestBigMusicXML.testFocus  rr   r   rD   Nrs   r   r   r   r   r      s    +!r   r   c                       \ rS rSrS rS rSrg)TestGetElementsByClassAi	  c                <    SSK Jn  UR                  S5      U l        g r   r|   r}   s     r   r4    TestGetElementsByClassA.__init__  r   r   c                ^    [        U R                  R                  5       R                  5        g r   )lenr7   flattennotesr   s    r   r   !TestGetElementsByClassA.testFocus  s    DFFNN""#r   rD   Nrs   r   r   r   r   r   	  s    )$r   r   c                       \ rS rSrS rS rSrg)TestGetElementsByClassBi  c                   SSK Jn  SSK Jn  SSK Jn  SSK Jn  SSK Jn  UR                  5       U l        U R                  R                  UR                  5       S5        U R                  R                  UR                  5       S5        U R                  R                  UR                  5       S5        U R                  R                  UR                  5       / SQ5        U R                  R                  UR                  5       / SQ5        g )	Nr   r   r   r   r   )chordi,  )r   2   rL      )r   r5   r9   r   r   r   r6   r7   repeatAppendr:   RestChordrepeatInsertr   BassClef)r   r5   r9   r   r   r   s         r   r4    TestGetElementsByClassB.__init__  s    "  !!DIIK-DIIK-EKKM3/E//13DEDMMO->?r   c                   [        S5       H  nU R                  R                  S/5        U R                  R                  S/5        U R                  R                  S/5        U R                  R                  S/5        U R                  R                  S/5        U R                  R                  S/5        U R                  R                  S/5        M     g )	N   r   r:   GeneralNoteNotRestr   r   r   )r8   r7   r   )r   r=   s     r   r   !TestGetElementsByClassB.testFocus#  s    rAFF%%vh/FF%%vh/FF%%}o6FF%%yk2FF%%zl3FF%%vh/FF%%&78 r   rD   Nrs   r   r   r   r   r     s    @9r   r   c                       \ rS rSrS rS rSrg)TestGetContextByClassBi.  c                   SSK Jn  SSK Jn  SSK Jn  UR	                  5       U l        UR                  5       nUR                  5       nUR                  UR                  5       S5        UR                  S5      Ul        UR                  5       nUR                  UR                  5       S5        UR                  U5        UR                  U5        UR                  5       nUR                  5       nUR                  S5      Ul        UR                  UR                  5       S5        UR                  5       n	U	R                  UR                  5       S5        UR                  U5        UR                  U	5        U R
                  R                  SU5        U R
                  R                  SU5        UR                  5       n
UR                  5       nUR                  S5      Ul        UR                  UR                  5       S5        UR                  5       nUR                  UR                  5       S5        U
R                  U5        U
R                  U5        UR                  5       nUR                  5       nUR                  S5      Ul        UR                  UR                  5       S5        UR                  5       nUR                  UR                  5       S5        UR                  U5        UR                  U5        U R
                  R                  SU
5        U R
                  R                  SU5        U	R                  S   U l        UR                  S   U l        g )Nr   r   r   r   r   3/4)r   r   r9   r5   r   r7   r   r   r   r:   r   timeSignaturer;   r   	_elementstargetNoteAtargetNoteB)r   r   r9   r5   p1m1m2p2m3m4p3m5m6p4m7m8s                   r   r4   TestGetContextByClassB.__init__/  sT   ! "[[]^^
		Q' ..u5^^
		Q'
		"
		"[[]^^ ..u5
		Q'^^
		Q'
		"
		"aa[[]^^ ..u5
		Q'^^
		Q'
		"
		"[[]^^ ..u5
		Q'^^
		Q'
		"
		"aa <<+<<+r   c                j    U R                   R                  [        R                  R                  5        g r   )r  previousr   r   r   r   s    r   r    TestGetContextByClassB.testFocusd  s     !!'--"="=>r   )r7   r  r	  Nrs   r   r   r   r  r  .  s    3,j?r   r  c                       \ rS rSrS rS rSrg)TestMeasuresAij  c                <    SSK Jn  UR                  S5      U l        g )Nr   rx   zsymphony94/02r|   r}   s     r   r4   TestMeasuresA.__init__l  s    "o.r   c                <    U R                   R                  SS5        g )Nr   r2   r7   measuresr   s    r   r   TestMeasuresA.testFocusp  s    2r   rD   Nrs   r   r   r   r  r  j  s    /r   r  c                       \ rS rSrS rS rSrg)TestMeasuresBit  c                   SSK Jn  SSK Jn  SSK Jn  UR	                  5       U l        S H  nUR                  5       n[        S5       Hq  nUR                  5       nUS:X  a  UR                  S5      Ul
        [        S5       H"  nUR                  UR                  5       5        M$     UR                  U5        Ms     U R
                  R                  SU5        M     g )	Nr   r   r   r   )   r2   r  r   )r   r5   r9   r   r   r7   r   r8   r   r   r  r;   r:   r   )	r   r5   r9   r   r   r   mnr   r=   s	            r   r4   TestMeasuresB.__init__u  s    " !AABiNN$7&+&9&9%&@AOqAHHTYY[) "   FFMM!Q r   c                <    U R                   R                  SS5        g )Nr      r  r   s    r   r   TestMeasuresB.testFocus  s    1r   rD   Nrs   r   r   r   r#  r#  t  s     $r   r#  c                      \ rS rSrS rSrg)TestGetWorki  c                B    [         R                  R                  S5        g Nry   r   r%   r&   r   s    r   r   TestGetWork.testFocus  s    ~.r   r   Nr   r   r   r   r,  r,    s    /r   r,  c                       \ rS rSrS rS rSrg)TestImportCorpus3i  c                B    [         R                  R                  S5        g r.  r/  r   s    r   r4   TestImportCorpus3.__init__  s    ~.r   c                @    [         R                  R                  SSS9  g )Nzbach/bwv1.6Trz   r,   r   s    r   r   TestImportCorpus3.testFocus  s    ]=r   r   Nrs   r   r   r   r2  r2    s    />r   r2  c                       \ rS rSrS rS rSrg)TestImportPianoi  c                B    [         R                  R                  S5        g )Ncpebachr/  r   s    r   r4   TestImportPiano.__init__  s    y)r   c                @    [         R                  R                  SSS9  g )Nr:  Trz   r,   r   s    r   r   TestImportPiano.testFocus  s    YD9r   r   Nrs   r   r   r   r8  r8    s    *:r   r8  c                       \ rS rSrS rS rSrg)TestRomantextParsei  c                F    SSK Jn  [        R                  U l        Xl        g )Nr   )r   )music21.romanTextr   r   r   tf)r   rB  s     r   r4   TestRomantextParse.__init__  s    5 **r   c                b    U R                   R                  U R                  R                  5        g r   )r   r   rB  monteverdi_3_13r   s    r   r   TestRomantextParse.testFocus  s    TWW445r   )r   rB  Nrs   r   r   r   r?  r?    s    
6r   r?  c                       \ rS rSrS rS rSrg)TestDeepcopyNotei  c                L    [         R                  R                  S5      U l        g Nr   r   r%   r   bachr   s    r   r4   TestDeepcopyNote.__init__      NN((3	r   c                D    [         R                  " U R                  5        g r   )copydeepcopyrL  r   s    r   r   TestDeepcopyNote.testFocus  s    dii r   rL  Nrs   r   r   r   rH  rH    s    4!r   rH  c                       \ rS rSrS rS rSrg)TestRecursioni  c                L    [         R                  R                  S5      U l        g rJ  rK  r   s    r   r4   TestRecursion.__init__  rN  r   c                F    U R                   R                  5        H  nM     g r   )rL  r   )r   _s     r   r   TestRecursion.testFocus  s    ""$A %r   rS  Nrs   r   r   r   rU  rU    s    4r   rU  c                       \ rS rSrS rS rSrg)TestChordifySchumanni  c                L    [         R                  R                  S5      U l        g )Nz#schumann_robert/opus41no1/movement1)r   r%   r   schumannr   s    r   r4   TestChordifySchumann.__init__  s    ,,-RSr   c                8    U R                   R                  5         g r   )r^  chordifyr   s    r   r   TestChordifySchumann.testFocus  s     r   )r^  Nrs   r   r   r   r\  r\    s    T!r   r\  c                4   SnU " 5       n[         R                  " 5        nUR                  5         S S S 5        [        R                  " W5      nUR                  [        R                  R                  5        UR                  U5        g ! , (       d  f       N_= f)Ng333333?)	cProfileProfiler   pstatsStats
sort_statsSortKeyTIMEprint_stats)	TestClassMIN_FRACTION_TO_REPORTr   prstatss        r   mainrp    sk     A				r	 
 LLE	V^^(()	,- 
	s   B		
B__main__)&
__future__r   rP  rd  rf  r   r   r   r!   r)   r/   rI   rW   r`   rh   ru   r   r   r   r   r   r   r   r   r   r   r  r  r#  r,  r2  r8  r?  rH  rU  r\  rp  r   r   r   r   <module>rs     s   #    
 Dd DCT C,D ,
	t 	&4 &'D '-$ - 	! 	! d  $)d )$$ $4 :T :6*d *!$ !0_ _!d !$d $9d 948?T 8?xD D ./$ /> >:d :6 6!t !D !4 !	. z	 r   