o
    nqfm                     @   sP   d dl Zd dlm  mZ d dlZd dlZd dlZd dl	m
Z
 G dd dZdS )    N)backup_folderc                   @   sJ   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Ze	j
dd ZdS )Testbackup_folderc           
      C   sz  |d }|d }|   |j}| }|s9ddt v s t|r%t|ndt|t|d }tt|d  }}t	|| |j}| }|soddt v sVt|r[t|ndt|t|d }tt|d  }}t
j}||}| }|sddt v stt
rtt
ndt|dt v st|rt|ndt|d	 }	tt|	d  } }}d S )
Nempty_foldertarget_folder_emptyAassert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
}source_folderpy0py2py4target_folderzMassert not %(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.listdir
}(%(py3)s)
}os)r	   r
   py3py5)mkdirexists@py_builtinslocals
@pytest_ar_should_repr_global_name	_safereprAssertionError_format_explanationr   r   listdir)
selftmp_pathr   r   @py_assert1@py_assert3@py_format5@py_assert4@py_assert6@py_format7 r"   =/workspaces/Masterarbeit/8_backup_folder/test_output_14_RP.pytest_backup_empty_folder   s   b
bz*Testbackup_folder.test_backup_empty_folderc                 C   s   |d }|d }|d j dd |j}| }|s=ddt v s$t|r)t|ndt|t|d }tt|d  }}t	|| |j}| }|ssdd	t v sZt|r_t|nd	t|t|d }tt|d  }}d S )
Nsource_with_subfolderstarget_with_subfolders	subfolderTparentsr   r   r   r   
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"   r"   r#   test_backup_with_subfolders   s   b
fz-Testbackup_folder.test_backup_with_subfoldersc                 C   sT  |d }|d }|   |   |j}| }|s=ddt v s$t|r)t|ndt|t|d }tt|d  }}|j}| }|snddt v sUt|rZt|ndt|t|d }tt|d  }}t	|| |j}| }|sddt v st|rt|ndt|t|d }tt|d  }}d S )Nr   r   r   r   r*   r+   r"   r"   r#   "test_backup_existing_target_folder   s   bb
fz4Testbackup_folder.test_backup_existing_target_folderc                 C   s   |d }|d }|   |j}| }|s9ddt v s t|r%t|ndt|t|d }tt|d  }}t	|| |j}| }|soddt v sVt|r[t|ndt|t|d }tt|d  }}d S )Nr   target_folder_tempr   r   r   r*   r+   r"   r"   r#   test_backup_to_temporary_folder#   s   b
fz1Testbackup_folder.test_backup_to_temporary_folderc                 C   s*  |\}}|d }|d d }| d |jjdd | d |j}| }|sLdd	t v s3t|r8t|nd	t|t|d
 }t	t
|d  }}|j}| }|s}ddt v sdt|rit|ndt|t|d
 }t	t
|d  }}t|| d}|| }|j}	|	 }
|
sddt v st|rt|ndt|t|	t|
d }t	t
|d  } } }	}
d}|| }d}	||	 }
|
j}| }|sddt v st|rt|ndt|t|	t|t|d }t	t
|d  } } }	 }
 }}d S )Nz	file1.txtr'   z	file2.txtu   这是文件1的内容。Tr(   u   这是文件2的内容。r   file1r   file2Massert %(py7)s
{%(py7)s = %(py5)s
{%(py5)s = (%(py0)s / %(py2)s).exists
}()
}r   r	   r
   r   py7z[assert %(py10)s
{%(py10)s = %(py8)s
{%(py8)s = ((%(py0)s / %(py2)s) / %(py5)s).exists
}()
})r	   r
   r   py8py10)
write_textparentr   r   r   r   r   r   r   r   r   r   )r   setup_test_foldersr   r   r0   r1   r   r   r   r   r    @py_format8@py_assert7@py_assert9@py_format11r"   r"   r#   !test_source_folder_contains_files+   s   

bb
~z3Testbackup_folder.test_source_folder_contains_filesc                 C   s  |\}}|d }|d }|d }| d | d | d |j}| }|sLddt v s3t|r8t|ndt|t|d	 }	tt|	d  }}|j}| }|s}dd
t v sdt|rit|nd
t|t|d	 }	tt|	d  }}|j}| }|sddt v st|rt|ndt|t|d	 }	tt|	d  }}t	|| d}|| }|j}
|
 }|sddt v st|rt|ndt|t|
t|d }tt|d  } } }
}d}|| }|j}
|
 }|s0ddt v st|rt|ndt|t|
t|d }tt|d  } } }
}d}|| }|j}
|
 }|srddt v sUt|rZt|ndt|t|
t|d }tt|d  } } }
}d S )Nzfile.txtzdata.csvz	script.pyu   这是一个文本文件。u   CSV 数据在这里。u   # Python 脚本内容。r   file_txtr   file_csvfile_pyr2   r   r3   )
r7   r   r   r   r   r   r   r   r   r   )r   r9   r   r   r?   r@   rA   r   r   r   r   r    r:   r"   r"   r#   %test_backup_with_different_file_types;   s   


bbb
~z7Testbackup_folder.test_backup_with_different_file_typesc                 c   s0    |d }|d }|   |   ||fV  d S )Nr   r   )r   )r   r   r   r   r"   r"   r#   r9   P   s   z$Testbackup_folder.setup_test_foldersN)__name__
__module____qualname__r$   r,   r-   r/   r>   rB   pytestfixturer9   r"   r"   r"   r#   r      s    	
r   )builtinsr   _pytest.assertion.rewrite	assertionrewriter   r   shutilrF   Zoutput_14_RPr   r   r"   r"   r"   r#   <module>   s
   " 