
    ck$                        d dl Z d dlZd dlZd dlmZmZmZmZ dZdZ	dZ
dZ ej        d          d	             Z ej        d          d
             Z ej        d          d             Z ej        d          d             Z ej        d          d             Z ej        d          d             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z dS )    N)
fetch_data
clean_datacopy_examplesexampleszb
data:
  - url: this_should_never_be_used
    title: 'Test Data'
    files:
      - test_data.csv
z7
name,score,rank
Alice,100.5,1
Bob,50.3,2
Charlie,25,3
zU
name,score,rank
Alice,100.5,1
Bob,50.3,2
Charlie,25,3
Dave,28,4
Eve,25,3
Frank,75,9
a0  {
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**NOTE:** This is a temporary notebook that gets created for tests."
   ]
  },
 ],
 "metadata": {
  "language_info": {
   "name": "python",
   "pygments_lexer": "ipython3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
T)autousec                 |   | dz  }|                                  |dz  } |j                      |dz                      t                     |dz                      t                     |dz                                    |dz  dz                                    |dz  dz  dz                      t                     |S )zIThis sets up a temporary directory structure meant to mimic a module
    static_moduler   Test_Example_Notebook.ipynbdatasets.ymldata.data_stubstest_data.csv)mkdir
write_textEXAMPLE_CONTENTDATASETS_CONTENTTEST_FILE_CONTENT)tmp_pathprojectr   s      3lib/python3.11/site-packages/pyct/tests/test_cmd.py
tmp_moduler   7   s     (GMMOOO#HHN--99/JJJ**+;<<<&--///&8DDEVWWWN    c                 T    fd}|                      t          j        d|           dS )z8Monkeypatching find examples to use a tmp examples.
    c                 ^    t           j                            t                    d          S )Nr   )ospathjoinstr)namer   s    r   _find_examplesz1monkeypatch_find_examples.<locals>._find_examplesJ   s    w||C
OOZ888r   r    N)setattrpyctcmd)monkeypatchr   r    s    ` r   monkeypatch_find_examplesr%   F   s=    9 9 9 9 9"2NCCCCCr   function)scopec                 8    | dz  }|                                  |S )Ntest_projectr   )r   r   s     r   tmp_projectr+   N   s    'GMMOOONr   c                     | }|dz  } |j                      |dz  }|                    t                     |dz                                    |dz  }|                    d           |S )Nr   r   r   r
   zFake notebook contents)r   r   r   )r   r   r   datasetsexamples        r   tmp_project_with_examplesr/   T   s|    G#HHN.(H()))66G0111Nr   c                 H    | }|dz  dz  dz  }|                                  |S )Nr   r   r   r*   )r/   r   
data_stubss      r   tmp_project_with_stubsr2   `   s2    'G:%.>JNr   c                 Z    | }|dz  dz  dz  dz  }|                     t                     |S )Nr   r   r   r   )r   r   )r2   r   	data_stubs      r   tmp_project_with_test_filer5   g   s:    $G:%.>PI*+++Nr   c                     | }t          |dz            }t          d|d           |dz  dz  dz                                  sJ |dz  dz                                  sJ d S )Nr   r"   Tr   r   use_test_datar   r   r
   )r   r   is_filer+   r   r   s      r    test_examples_with_use_test_datar;   o   s~    Gw#$$D&t48888j 6)O;DDFFFFFj #@@IIKKKKKKKr   c                    | }t          |dz            }|dz  dz  dz  }|                    t                     t          j        t
                    5  t          d|d           d d d            n# 1 swxY w Y   |dz  dz                                  sJ |dz  dz                                  t          k    sJ |dz  dz  dz                                  sJ |dz  dz  dz                                  t          k    sJ d S )Nr   r   r   r"   Tr7   r
   )
r   r   REAL_FILE_CONTENTpytestraises
ValueErrorr   r9   	read_textr   r/   r   r   r   s       r   <test_examples_with_prexisting_content_in_target_raises_errorrC   v   s`   'Gw#$$DZ&(?:DOO%&&&	z	"	" = =f4t<<<<= = = = = = = = = = = = = = =j #@@IIKKKKKj #@@KKMMQ`````j 6)O;DDFFFFFj 6)O;FFHHL]]]]]]]s   A22A69A6c                    | }t          |dz            }|dz  dz  dz  }|                    t                     t          d|dd           |dz  dz                                  sJ |dz  dz                                  t          k    sJ |dz  dz  dz                                  sJ |dz  dz  dz                                  t          k    sJ d S )Nr   r   r   r"   Tr   r   r8   forcer
   )r   r   r=   r   r9   rA   r   r   rB   s       r   Itest_examples_using_test_data_and_force_with_prexisting_content_in_targetrG      s    'Gw#$$DZ&(?:DOO%&&&&t4tDDDDj #@@IIKKKKKj #@@KKMMQ`````j 6)O;DDFFFFFj 6)O;FFHHL]]]]]]]r   c                     | }t          |dz            }t          d|           |dz  dz                                  sJ d S Nr   r"   r   r   r
   )r   r   r9   r:   s      r   test_copy_examplesrK      sU    Gw#$$DvD))))j #@@IIKKKKKKKr   c                 4   | }t          |dz            }t          j        t                    5  t	          d|           d d d            n# 1 swxY w Y   |dz  dz                                  sJ |dz  dz                                  t          k    sJ d S rI   )r   r>   r?   r@   r   r9   rA   r   r/   r   r   s      r   Atest_copy_examples_with_prexisting_content_in_target_raises_errorrN      s    'Gw#$$D	z	"	" . .6----. . . . . . . . . . . . . . .j #@@IIKKKKKj #@@KKMMQ```````s   AAAc                     | }t          |dz            }t          d|d           |dz  dz                                  sJ |dz  dz                                  t          k    sJ d S )Nr   r"   T)r   r   rF   r
   )r   r   r9   rA   r   rM   s      r   @test_copy_examples_using_force_with_prexisting_content_in_targetrP      s    'Gw#$$DvD5555j #@@IIKKKKKj #@@KKMMQ```````r   c                     | }t          |dz            }t          d|d           |dz  dz  dz                                  sJ |dz  dz  dz                                  t          k    sJ d S )Nr   r"   Tr7   r   r   )r   r   r9   rA   r   r5   r   r   s      r   Ftest_fetch_data_using_test_data_with_no_file_in_data_copies_from_stubsrS      s    (Gw#$$DFT::::j 6)O;DDFFFFFj 6)O;FFHHL]]]]]]]r   c                 *   | }t          |dz            }|dz  dz  dz  }|                    t                     t          d|d           |dz  dz  dz                                  sJ |dz  dz  dz                                  t          k    sJ d S )Nr   r   r   r"   Tr7   )r   r   r=   r   r9   rA   r5   r   r   r   s       r   7test_fetch_data_using_test_data_with_file_in_data_skipsrV      s    (Gw#$$DZ&(?:DOO%&&&FT::::j 6)O;DDFFFFFj 6)O;FFHHL]]]]]]]r   c                 ,   | }t          |dz            }|dz  dz  dz  }|                    t                     t          d|dd           |dz  dz  dz                                  sJ |dz  dz  dz                                  t          k    sJ d S )Nr   r   r   r"   TrE   )r   r   r=   r   r9   rA   r   rU   s       r   Gtest_fetch_data_using_test_data_and_force_with_file_in_data_over_writesrX      s    (Gw#$$DZ&(?:DOO%&&&FTFFFFj 6)O;DDFFFFFj 6)O;FFHHL]]]]]]]r   c                 (   | }t          |dz            }|dz  dz  dz  }|                    t                     t          d|           |dz  dz  dz                                  sJ |dz  dz  dz                                  t          k    sJ d S Nr   r   r   r"   rJ   )r   r   r=   r   r9   rA   rU   s       r   3test_clean_data_when_data_file_is_real_does_nothingr[      s    (Gw#$$DZ&(?:DOO%&&&F&&&&j 6)O;DDFFFFFj 6)O;FFHHL]]]]]]]r   c                 r   | }t          |dz            }|dz  dz  dz  }|                    t                     t          d|           |dz  dz  dz                                  rJ |dz  dz  dz  dz                                  sJ |dz  dz  dz  dz                                  t          k    sJ d S Nr   r   r   r"   rJ   r   )r   r   r   r   r9   rA   rU   s       r   Ctest_clean_data_when_data_file_is_from_stubs_removes_file_from_datar^      s    (Gw#$$DZ&(?:DOO%&&&F&&&&*$v-?HHJJJJJj 6)M9OKTTVVVVVj 6)M9OKVVXX\mmmmmmmr   c                 (   | }t          |dz            }t          d|           |dz  dz  dz                                  rJ |dz  dz  dz  dz                                  sJ |dz  dz  dz  dz                                  t          k    sJ d S )Nr   r"   rJ   r   r   r   )r   r   r9   rA   r   rR   s      r   2test_clean_data_when_file_not_in_data_does_nothingr`      s    (Gw#$$DF&&&&*$v-?HHJJJJJj 6)M9OKTTVVVVVj 6)M9OKVVXX\mmmmmmmr   c                    | }t          |dz            }|dz  dz  dz  }|                    t                     t          d|           |dz  dz  dz                                  sJ |dz  dz  dz  dz                                  rJ d S r]   r   r   r=   r   r9   )r2   r   r   r   s       r   0test_clean_data_when_stubs_is_empty_does_nothingrc      s    $Gw#$$DZ&(?:DOO%&&&F&&&&j 6)O;DDFFFFF*$v-=OXXZZZZZZZr   c                     | }t          |dz            }|dz  dz  dz  }|                    t                     t          d|           |dz  dz  dz                                  sJ d S rZ   rb   rB   s       r   .test_clean_data_when_no_stubs_dir_does_nothingre      s    'Gw#$$DZ&(?:DOO%&&&F&&&&j 6)O;DDFFFFFFFr   )!r   r>   pyct.cmdr"   r   r   r   r   r   r   r=   r   fixturer   r%   r+   r/   r2   r5   r;   rC   rG   rK   rN   rP   rS   rV   rX   r[   r^   r`   rc   re    r   r   <module>ri      sp   				   D D D D D D D D D D D D   ,    D D D j!!!  "!
 j!!!	 	 "!	 j!!!  "! j!!!  "!L L L
^ 
^ 
^	^ 	^ 	^L L La a aa a a^ ^ ^^ ^ ^^ ^ ^^ ^ ^n n nn n n[ [ [G G G G Gr   