
    rh2                        S SK Jr  S SKrS SKrS SKJr  S SKJr  \R                  " S5      r " S S\R                  5      r	\
S:X  a  \R                  " \	5        gg)	    )annotationsN)environment)
freezeThawztest.testSerializationc                  D    \ 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SK Jn  SSK Jn  SSK Jn  UR	                  5       nUR                  SSS9nUR                  U5        UR                  UR                  SS	S95        UR                  U5      nUR                  U5      nU R                  [        UR                  5      S
5        U R                  [        UR                  S   R                  5      S5        g )Nr   streamnote	converterd2       @quarterLengthzg~6g      ?   D2)music21r   r   r   StreamNoteappend	freezeStrthawStrassertEquallennotesstrpitch)selfr   r   r   sn1tempposts           X/home/james-whalen/.local/lib/python3.13/site-packages/music21/test/testSerialization.py
testBasicCTest.testBasicC   s    " %MMOYYt3Y/		556""1%  &TZZ!,TZZ]00148    c                j   SSK Jn  SSK Jn  SSK Jn  SSK Jn  SS KnUR                  5       nUR                  SSS9nUR                  S	SS9nUR                  Xx5      n	UR                  U5        UR                  U5        UR                  U	5        UR                  U5      n
UR                  U
5      nUR                  U5      nU R                  [        UR                  5      S
5        U R                  [!        UR                  S   R"                  5      S5        UR$                  S   nU R                  UR'                  5       UR                  S   UR                  S   /5        U R                  UR)                  5       [+        UR                  S   5      [+        UR                  S   5      /5        g )Nr   r
   r   r   spannerr   r   r   e2r   r      )r   r   r   r   r,   copyr   r   Slurr   deepcopyr   r   r   r   r   r   r    spannersgetSpannedElementsgetSpannedElementIdsid)r!   r   r   r   r,   r/   r"   r#   n2spsCopyr$   r%   spPosts                 r&   
testBasicDTest.testBasicD)   sP   " %#MMOYYt3Y/YYt3Y/\\"!			 a ""5)  &TZZ!,TZZ]00148q!224tzz!}djjQRm6TU446DJJqM9JBtzzZ[}L]8^_r)   c                   SSK Jn  SSK Jn  UR                  S5      nUR	                  USS9nUR                  U5      nU R                  [        UR                  5       R                  5      [        UR                  5       R                  5      5        U R                  [        UR                  S   R                  5      [        UR                  S   R                  5      5        g )Nr   corpusr   zbwv66.6picklefmt)r   r>   r   parser   r   r   r   recurser   flattenparts)r!   r>   r   r"   r$   sPosts         r&   
testBasicETest.testBasicEG   s    "%LL#""1("3!!$'QYY[../U]]_5J5J1KLQWWQZ--.EKKN4H4H0IJr)   c                    SSK Jn  SSK Jn  SSK Jn  SSK Jn  UR                  5       nUR                  UR                  S5      S5        [        / SQ5       H#  u  pgUR                  U   R                  U5        M%     UR                  UR                  UR                  S   UR                  S	   5      5        UR                  US
S9nUR                  U5      n	U R                  [!        U	R                  5      S5        g )Nr   r
   r   r   r+   G4   )zse-zri-zal-ziz-ingr?   r@   )r   r   r   r   r,   ScorerepeatAppendr   	enumerater   addLyricr   r0   r   r   r   r   )
r!   r   r   r   r,   r"   isyldatarF   s
             r&   
testBasicFTest.testBasicFU   s    " %#LLN	tyy* CDFAGGAJ$ E	aggaj!''"+67
 ""1("3!!$'U[[)1-r)   c                Z   SSK Jn  SSK Jn  SSK Jn  UR	                  5       n[        S5       HV  nUR                  5       n[        S5       H#  nUR                  UR                  S5      5        M%     UR                  U5        MX     UR	                  5       n[        S5       HV  nUR                  5       n[        S5       H#  nUR                  UR                  S5      5        M%     UR                  U5        MX     UR                  5       nUR                  SU5        UR                  SU5        UR                  US	S
9n	UR                  U	5      n
U R                  [        U
R                  5      S5        U R                  [        U
R                  S   R!                  UR                  5      5      S5        U R                  [        U
R                  S   R!                  UR                  5      5      S5        U R                  [        U
R#                  5       R$                  5      S5        g )Nr   r
   r   r         C4rJ   r?   r@   r   r.   r   )r   r   r   r   PartrangeMeasurer   r   rN   insertr   r   r   r   rE   getElementsByClassrC   r   )r!   r   r   r   p1mrR   p2r"   r$   rF   s              r&   
testBasicJTest.testBasicJi   s   " %[[]qA A1X4) IIaL	  [[]qA A1X4) IIaL	  LLN	B	B ""1("3!!$'U[[)1-U[[^>>v~~NOQRSU[[^>>v~~NOQRSU]]_223R8r)   c                   SSK Jn  SSK Jn  SSK Jn  UR	                  5       nUR                  UR                  S5      S5        UR                  SS9  UR	                  5       nUR                  UR                  S	5      S5        UR                  SS9  UR                  5       nUR                  SU5        UR                  SU5        UR                  US
S9nUR                  U5      nU R                  [        UR                  5      S5        U R                  [        UR                  S   R                  UR                   5      5      S5        U R                  [        UR                  S   R                  UR                   5      5      S5        U R                  [        UR#                  5       R$                  5      S5        g )Nr   r
   r   r   rZ      T)inPlacerJ   r?   r@   r   rX   r.   r   )r   r   r   r   r[   rO   r   makeMeasuresrN   r^   r   r   r   r   rE   r_   r]   rC   r   )	r!   r   r   r   r`   rb   r"   r$   rF   s	            r&   
testBasicITest.testBasicI   sI   " %[[]
		$,
%[[]
		$,
%LLN	B	B ""1("3!!$'U[[)1-U[[^>>v~~NOQRSU[[^>>v~~NOQRSU]]_223R8r)   c                h   SSK Jn  SSK Jn  SSK Jn  SSK Jn  UR                  S5      nUR                  S5      nUR                  S5      nUR                  XV/5      nUR                  5       n	U	R                  SU5        U	R                  SU5        UR                  U	S	S
9n
UR                  U
5      ng)zT
test to see if spanners serialize properly if they
contain notes not in the pickle
r   r
   r+   r   r   D4E4F4r?   r@   N)r   r   r,   r   r   r   r0   r[   r^   r   r   )r!   r   r,   r   r   r#   r6   n3slur1r"   rT   	unused_s2s               r&   *testSpannerSerializationOfNotesNotInPickle/Test.testSpannerSerializationOfNotesNotInPickle   s    
 	##% YYt_YYt_YYt_bX&KKM	B	E""1("3%%d+	r)   c                    SSK Jn  SSK Jn  UR                  S5      n[        R
                  " USS9nUR                  5       nUR                  U5      ng )Nr   r=   r   zcorelli/opus3no1/1graveT)fastButUnsafe)r   r>   r   rB   r   StreamFreezerwriteStrr   )r!   r>   r   r"   sfrT   rq   s          r&   testBigCorpusTest.testBigCorpus   sH    "% LL23%%at<{{} %%d+	r)    N)__name__
__module____qualname____firstlineno__r'   r:   rG   rU   rc   ri   rr   ry   __static_attributes__r{   r)   r&   r   r      s,    9`<
K.(9>9.,*,r)   r   __main__)
__future__r   unittestr   r   r   EnvironmentenvironLocalTestCaser   r|   mainTestr{   r)   r&   <module>r      sY    #    &&'?@j,8 j,` zT r)   