
    pj
                     d    d dl Zd dlmc mZ d dlmZmZ d dl	m
Z
mZ d Zd Zd Zd Zd Zd	 ZdS )
    N)build_mechanism_shot_planwrite_mechanism_shot_plans)PILOT_IDEASbuild_mechanism_explainerc                  6    t          t          d                   S )Nr   )r   r        I/home/agent/jarvis_runtime/AutoShortsBot/tests/test_mechanism_pipeline.py_auto_explainerr      s    $[^444r	   c                  
   t                      } t          |           }|d         }d}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}|d         }d	}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}|d
         }d}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}d |d         D             }g d}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}|d         d         d         }d}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}|d         d         d         }d}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}|d         d         d         }d}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x}x}}d |d         D             }t          |          }|sddt          j	                    v st          j
        t                    rt          j        t                    ndt          j        |          t          j        |          dz  }t          t          j        |                    d x}}d |d         D             }t          |          }|sddt          j	                    v st          j
        t                    rt          j        t                    ndt          j        |          t          j        |          dz  }t          t          j        |                    d x}}d S )Nidz<hidden-money-systems-warum-ein-billiges-auto-teuer-sein-kann==z%(py1)s == %(py4)spy1py4assert %(py6)spy6seriesz"Unsichtbare Systeme in 30 Sekundenestimated_seconds"   c                     g | ]
}|d          S )purposer   .0scenes     r
   
<listcomp>zWtest_build_mechanism_shot_plan_preserves_retention_beats_and_timing.<locals>.<listcomp>   s    999E)999r	   scenes)pattern_interruptproblemmechanism_revealtwistfollow_triggerr   startg        endg      ?<=z%(py1)s <= %(py4)s   
asset_typemechanism_animationc              3   &   K   | ]}|d          V  dS )visual_motionNr   r   s     r
   	<genexpr>zVtest_build_mechanism_shot_plan_preserves_retention_beats_and_timing.<locals>.<genexpr>   s'      BB%u_%BBBBBBr	   z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}all)py0py2r   c              3   &   K   | ]}|d          V  dS )	sound_cueNr   r   s     r
   r/   zVtest_build_mechanism_shot_plan_preserves_retention_beats_and_timing.<locals>.<genexpr>   s'      >>eu[!>>>>>>r	   )r   r   
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanationr0   @py_builtinslocals_should_repr_global_name)	explainerplan@py_assert0@py_assert3@py_assert2@py_format5@py_format7@py_assert1s           r
   Ctest_build_mechanism_shot_plan_preserves_retention_beats_and_timingrE      s   !!I$Y//D:WWW:WWWWWWWWWWW:WWWWWW:WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW>AAA>AAAAAAAAAAA>AAAAAA>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA#$**$**********$*****$*******************************99$x.999  > > > 9 >        9 >     :   >                          >!W%,,%,,,,,,,,,,%,,,,,%,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,>!U#*s*#s**********#s*****#****s***************************>!\*C.CC*.CCCCCCCCCCC*.CCCCCC*CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCBB4>BBBB3BBBBBBBBBBBBBBBB3BBBBB3BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB>>tH~>>>>3>>>>>>>>>>>>>>>>3>>>>>3>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>r	   c                     t          t                                } d | d         D             }d}||v}|st          j        d|fd||f          t          j        |          dt          j                    v st          j        |          rt          j        |          nddz  }dd	|iz  }t          t          j	        |                    d x}}d
}||v }|st          j        d|fd||f          t          j        |          dt          j                    v st          j        |          rt          j        |          nddz  }dd	|iz  }t          t          j	        |                    d x}}d}||v }|st          j        d|fd||f          t          j        |          dt          j                    v st          j        |          rt          j        |          nddz  }dd	|iz  }t          t          j	        |                    d x}}d}||v }|st          j        d|fd||f          t          j        |          dt          j                    v st          j        |          rt          j        |          nddz  }dd	|iz  }t          t          j	        |                    d x}}| d         d         }d}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j	        |                    d x}x}}| d         d         }d}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }dd|iz  }t          t          j	        |                    d x}x}}d S )Nc                     g | ]
}|d          S )r+   r   r   s     r
   r   zYtest_mechanism_shot_plan_uses_motion_led_asset_types_not_static_cards.<locals>.<listcomp>%   s    CCC55&CCCr	   r   static_card)not in)z%(py1)s not in %(py3)sasset_typesr   py3assert %(py5)spy5cinematic_ai_videoinz%(py1)s in %(py3)sr,   kinetic_text_overlayfinal_render_intentstatic_card_limitr   r   r   r   r   r   visual_change_every_secondsr*   r'   r)   )
r   r   r5   r6   r7   r:   r;   r<   r8   r9   )	r>   rJ   r?   rA   @py_format4@py_format6r@   rB   rC   s	            r
   Etest_mechanism_shot_plan_uses_motion_led_asset_types_not_static_cardsrY   "   s   $_%6%677DCCDNCCCK+=++++++++++=+++++=+++++++++++++++++++++++++++++++++++++++++++.;..........;................;.....;........................... / K////////// K///// ///////////K/////K///////////////////////////!0![0000000000![00000!00000000000[00000[000000000000000000000000000%&':;@q@;q@@@@@@@@@@;q@@@@@;@@@@q@@@@@@@@@@@@@@@@@@@@@@@@@@@%&'DEJJEJJJJJJJJJJEJJJJJEJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJr	   c                  
   t          t                                } | d         }t          |          }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        t                    rt          j        t                    ndt          j        |          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}x}}| d         d	         d
         }d	}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }	dd|	iz  }
t          t          j
        |
                    d x}x}}d}| d         d	         d         }||v }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }	dd|	iz  }
t          t          j
        |
                    d x}x}}| d         d         d
         }d}||k    }|slt          j        d|fd||f          t          j        |          t          j        |          dz  }	dd|	iz  }
t          t          j
        |
                    d x}x}}d}| d         d         d         }|j        } |            }||v }|st          j        d|fd||f          t          j        |          t          j        |          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}x}x}}d S )Ncaption_beats   r   )z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)slen)r1   r2   r   py7zassert %(py9)spy9r   r%   r   r   r   r   OccasiontextrP   )z%(py1)s in %(py4)s   
versteckte)zD%(py1)s in %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s.lower
}()
})r   r   r   py8zassert %(py10)spy10)r   r   r]   r5   r6   r:   r;   r<   r7   r8   r9   lower)r>   rD   r@   @py_assert6@py_assert5@py_format8@py_format10r?   rA   rB   rC   @py_assert7@py_format9@py_format11s                 r
   ?test_mechanism_shot_plan_generates_caption_beats_from_voiceoverro   /   s/   $_%6%677DO$*3$%%**%**********%************3*****3******$****%********************************* #G,11,1111111111,11111,11111111111111111111111111111119o.q1&99:99999999999:999999:99999999999999999999999999999999 $W-33-3333333333-33333-3333333333333333333333333333333D404V<D<BDBBDDD<DDDDDDDDDDD<DDDDDD<DDDD<DDDDBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDr	   c                  V   t          t                                } | d         d         d         }|j        }d} ||          }|sddt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          t          j        |          dz  }t          t          j	        |                    d x}x}}|j        }d} ||          }| }|sd	dt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          t          j        |          dz  }t          t          j	        |                    d x}x}x}}d S )
Nr   r*   on_screen_textu   …zJassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.endswith
}(%(py4)s)
}overlay)r1   r2   r   r   u    und…zNassert not %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.endswith
}(%(py4)s)
})
r   r   endswithr:   r;   r5   r<   r7   r8   r9   )r>   rr   rD   r@   ri   rC   rl   rj   s           r
   ;test_mechanism_scene_overlay_truncation_marks_open_sentencert   9   s   $_%6%677D8nQ 01G"E"E"""""""""""""""7"""""7""""""""""E""""""""""""""""""""""""""*	*	******************w*****w**********	******************************r	   c                    t                      }t          |g|           }t          |          }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        t                    rt          j        t                    nddt          j                    v st          j        |          rt          j        |          ndt          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}}|d	         }|j        }d
}||k    }|st          j        d|fd||f          t          j        |          t          j        |          t          j        |          dz  }dd|iz  }t          t          j
        |                    d x}x}x}}|d	                             d          }	d}||	v }|st          j        d|fd||	f          t          j        |          dt          j                    v st          j        |	          rt          j        |	          nddz  }
dd|
iz  }t          t          j
        |                    d x}}d}||	v }|st          j        d|fd||	f          t          j        |          dt          j                    v st          j        |	          rt          j        |	          nddz  }
dd|
iz  }t          t          j
        |                    d x}}d}||	v }|st          j        d|fd||	f          t          j        |          dt          j                    v st          j        |	          rt          j        |	          nddz  }
dd|
iz  }t          t          j
        |                    d x}}d}||	v }|st          j        d|fd||	f          t          j        |          dt          j                    v st          j        |	          rt          j        |	          nddz  }
dd|
iz  }t          t          j
        |                    d x}}d S )N   r   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sr]   paths)r1   r   rL   r   zassert %(py8)sre   r   z.md)z.%(py3)s
{%(py3)s = %(py1)s.suffix
} == %(py6)s)r   rL   r   zutf-8)encodingz## Mechanism shot planrP   rR   ra   rK   rM   rN   r    r,   z	Sound cue)r   r   r]   r5   r6   r:   r;   r<   r7   r8   r9   suffix	read_text)tmp_pathr=   rw   rA   ri   @py_assert4rC   rm   r?   ra   rW   rX   s               r
   0test_write_mechanism_shot_plans_outputs_markdownr}   A   s)   !!I&	{H==Eu:::?:33uu:8#8?#e#?e##########?e#####8####?####e#############################8w//D#+#t++++++++++#t+++++#+++++++++++t+++++t+++++++++++++++++++++++++++&$&&&&&&&&&&$&&&&&&&&&&&&&&&&$&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&&& ( D(((((((((( D((((( (((((((((((D(((((D(((((((((((((((((((((((((((;$;$;$$r	   )builtinsr:   _pytest.assertion.rewrite	assertionrewriter5   autoshorts.mechanism_pipeliner   r   autoshorts.retention_studior   r   r   rE   rY   ro   rt   r}   r   r	   r
   <module>r      s                          O N N N N N N N5 5 5? ? ?,
K 
K 
KE E E+ + +    r	   