
    dj                     Z    d dl Zd dlmc mZ d dlmZ d dlm	Z	 d dl
mZmZ d Zd Zd ZdS )    N)Path)load_testbatch)finalize_voiceoverwrite_final_scriptsc                  4   t          t          d                    } t          d | d         D                       }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         }|j	        }|d         } ||          }	|	ssdt	          j        |          t	          j        |          t	          j        |          t	          j        |	          dz  }
t          t	          j        |
                    d x}x}x}}	|d         }|d         }d}||z   }||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}x}}|d         }|d         }d}||z
  }||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}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          }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:d"d#t	          j        |          iz  }t          t	          j        |                    d }d S )$Ndata/drafts/testbatch_002.jsonc              3   2   K   | ]}|d          dk    |V  dS )idai-004N .0items     J/home/agent/jarvis_runtime/AutoShortsBot/tests/test_voiceover_finalizer.py	<genexpr>zRtest_finalize_voiceover_keeps_hook_first_and_estimates_duration.<locals>.<genexpr>	   0      JJ4:3I3I3I3I3I3IJJ    ideasr
   r   ==z%(py1)s == %(py4)spy1py4assert %(py6)spy6	voiceoverhookzLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
})r   py3py5py7estimated_secondsduration_seconds   )<=)z%(py1)s <= (%(py4)s + %(py6)s))r   r   r   zassert %(py9)spy9   >=)z%(py1)s >= (%(py4)s - %(py6)s)
word_countF   )>)z%(py1)s > %(py4)scaption_beatsr   startproduction_noteszassert %(py1)sr   )
r   r   nextr   
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanation
startswith)batchideafinal@py_assert0@py_assert3@py_assert2@py_format5@py_format7@py_assert4@py_assert6@py_format8@py_assert5@py_assert7@py_format10@py_format2s                  r   ?test_finalize_voiceover_keeps_hook_first_and_estimates_durationrF      s   4 @AABBEJJwJJJJJDt$$E;"(";("""""""""";(""""";""""("""""""""""""""""""""""""""6(6f6((666666666666(66666666666666666666666666666666$%E.@)AEAE)AA)EE%)EEEEEEEEEEE%)EEEEEE%EEEE)AEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE$%F.@)AFBF)AB)FF%)FFFFFFFFFFF%)FFFFFF%FFFF)AFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF################################################!!$W-22-2222222222-22222-2222222222222222222222222222222#$$$$$$$$$$$$$$$$$$$$$$$$$$$r   c                  ,   t          t          d                    } t          d | d         D                       }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         }|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 )Nr   c              3   2   K   | ]}|d          dk    |V  dS )r
   ai-005Nr   r   s     r   r   zStest_finalize_voiceover_uses_longer_script_for_rewards_candidate.<locals>.<genexpr>   r   r   r   platform_notezTikTok Rewards Candidater   r   r   r   r   r*   x   r(   )z%(py1)s >= %(py4)sr"   <   commentr   in)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   r0   r   r1   r2   r3   r4   r5   lower)r7   r8   r9   r:   r;   r<   r=   r>   rB   rC   @py_format9@py_format11s               r   @test_finalize_voiceover_uses_longer_script_for_rewards_candidaterU      s6   4 @AABBEJJwJJJJJDt$$E!?%??!%???????????!%??????!????%????????????????????????????%#%#%%%%%%%%%%#%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%$%++%++++++++++%+++++%+++++++++++++++++++++++++++++++2k*2*0200222922222222222922222292222*2222022222222222222222222222222222222222222r   c                 $   t          t          d                    }t          || g d          }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 |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             }	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         }
|
j        }d} ||          }||v }|st	          j        d|fd||f          t	          j	        |          t	          j	        |
          t	          j	        |          t	          j	        |          t	          j	        |          dz  }dd|iz  }t          t	          j        |                    d x}x}x}
x}x}}d S )Nr   )r   rI   zattention-002)selected_ids   r   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)slenpaths)py0r   r   r   zassert %(py8)srP   c                     h | ]	}|j         
S r   )namer   paths     r   	<setcomp>zDtest_write_final_scripts_only_writes_selected_ids.<locals>.<setcomp>(   s    )))4TY)))r   c              3   @   K   | ]}|                     d           V  dS )r   N)r6   )r   r]   s     r   r   zDtest_write_final_scripts_only_writes_selected_ids.<locals>.<genexpr>)   s.      ;;Ttx((;;;;;;r   z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}any)r[   py2r   c              3   ,   K   | ]}|j         d k    V  dS )z.mdN)suffixr^   s     r   r   zDtest_write_final_scripts_only_writes_selected_ids.<locals>.<genexpr>*   s)      66t{e#666666r   all	Voiceoverr   zutf-8)encodingrN   )zZ%(py1)s in %(py10)s
{%(py10)s = %(py6)s
{%(py6)s = %(py4)s.read_text
}(encoding=%(py8)s)
})r   r   r   rP   rQ   zassert %(py12)spy12)r   r   r   rY   r1   r2   @py_builtinslocals_should_repr_global_namer3   r4   r5   rb   rf   	read_text)tmp_pathr7   rZ   r<   rB   r?   r>   rS   names@py_assert1r;   r=   r:   rC   @py_assert9rT   @py_format13s                    r   1test_write_final_scripts_only_writes_selected_idsrs   "   s   4 @AABBEx>c>c>cdddEu:::?:33uu:))5)))E;;U;;;;3;;;;;;;;;;;;;;;;3;;;;;3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6666663666666666666666636666636666666666666666666666666666666>%(>(,>g>,,g>>>>;>>>>>>>>>>>;>>>>>>;>>>>(>>>>,>>>>g>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>r   )builtinsrj   _pytest.assertion.rewrite	assertionrewriter1   pathlibr   autoshorts.growth_planr   autoshorts.voiceover_finalizerr   r   rF   rU   rs   r   r   r   <module>r{      s                        1 1 1 1 1 1 R R R R R R R R% % %	3 	3 	3	? 	? 	? 	? 	?r   