HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/__pycache__/test_turtle.cpython-37.opt-1.pyc
B

��gq1�@s�ddlZddlZddlmZe�d�ZejZdZdZdZ	Gdd�dej
�ZGd	d
�d
�ZGdd�deej
�Z
Gd
d�deej
�ZGdd�dej
�Zedkr�e��dS)�N)�support�turtlea_width = 0.75
height = 0.8
canvwidth = 500
canvheight = 200
leftright = 100
topbottom = 100
mode = world
colormode = 255
delay = 100
undobuffersize = 10000
shape = circle
pencolor  = red
fillcolor  = blue
resizemode  = auto
visible  = None
language = english
exampleturtle = turtle
examplescreen = screen
title = Python Turtle Graphics
using_IDLE = ''
z�# Comments!
# Testing comments!
pencolor  = red
fillcolor  = blue
visible  = False
language = english
# Some more
# comments
using_IDLE = False
z0
pencolor = red
fillcolor: blue
visible = False
c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TurtleConfigTestc	Cs8|�tjtj�ttjd��}|�|�WdQRXtjS)N�w)Z
addCleanupr�unlinkZTESTFN�open�write)�selfZcfg_str�f�r�,/usr/local/lib/python3.7/test/test_turtle.py�get_cfg_file4szTurtleConfigTest.get_cfg_filecCsR|�t�}t�|�}ddddddddddd	d
dddd
ddddd�}|�||�dS)Ng�?g�������?i����dZworld�i'Zcircle�red�blue�auto�englishrZscreenzPython Turtle Graphics�)�widthZheightZ	canvwidthZ
canvheightZ	leftrightZ	topbottom�modeZ	colormodeZdelayZundobuffersize�shape�pencolor�	fillcolorZ
resizemode�visible�languageZ
exampleturtleZ
examplescreen�title�
using_IDLE)r
�test_configr�config_dict�assertEqual)r	�cfg_name�
parsed_cfg�expectedrrr�test_config_dict:s.

z!TurtleConfigTest.test_config_dictcCs4|�t�}t�|�}dddddd�}|�||�dS)NrrFr)rrrrr)r
�test_config_tworr r!)r	r"r#r$rrr�'test_partial_config_dict_with_commmentsXs

z8TurtleConfigTest.test_partial_config_dict_with_commmentsc	Cs^|�t�}t���}t�|�}WdQRX|��}|�d|�|�d|�|�|ddd��dS)NzBad line in config-file zfillcolor: bluerF)rr)	r
�invalid_test_configrZcaptured_stdoutrr �getvalueZassertInr!)r	r"�stdoutr#Zerr_msgrrr�test_config_dict_invalidgs

z)TurtleConfigTest.test_config_dict_invalidN)�__name__�
__module__�__qualname__r
r%r'r+rrrrr2src@seZdZdd�ZdS)�VectorComparisonMixincCsTt|�t|�kr|�d�x4tt||��D]"\}\}}|j||d�|�d�q*WdS)NzTuples are not of equal sizezvalues at index {} do not match)�msg)�lenZfail�	enumerate�zip�assertAlmostEqual�format)r	�vec1�vec2�idx�i�jrrr�assertVectorsAlmostEqual{s

z.VectorComparisonMixin.assertVectorsAlmostEqualN)r,r-r.r;rrrrr/ysr/c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�	TestVec2DcCs�tdd�}|�|dd�|�|dd�|�|t�|�tt�|�ttd�|�ttd�|�tt|�|�ttddd�dS)Ng�?�r�)rr>)�Vec2Dr!�assertIsInstance�assertRaises�	TypeError)r	�vecrrr�test_constructor�s
zTestVec2D.test_constructorcCstdd�}|�t|�d�dS)Ng��/�$�?gX9��v��?z(0.57,1.23))r?r!�repr)r	rCrrr�	test_repr�s
zTestVec2D.test_reprcCsftdd�}tdd�}tdd�}|�||�|�|t|��|�t|�|�|�||�|�||�dS)Nrr>g�*)r?r!�tupleZassertNotEqual)r	r6r7Zvec3rrr�
test_equality�s


zTestVec2D.test_equalityc
Csntdd�}x^ttjd�D]L}|j|d��6tj||d�}t�|�}|�||�|�|t�WdQRXqWdS)Ng�?r=r>)�proto)Zprotocol)	r?�range�pickleZHIGHEST_PROTOCOL�subTest�dumps�loadsr!r@)r	rCrJZpickledZ	unpickledrrr�
test_pickling�s

zTestVec2D.test_picklingc

Csdx^|D]V}|j|d��@|\\}}}t|�}t|�}|||�}	t|�}|�|	|�WdQRXqWdS)N)�case)rMr?r;)
r	�
test_casesZlambda_operatorZ	test_case�first�secondr$Zop1Zop2�resultrrr�_assert_arithmetic_cases�s

z"TestVec2D._assert_arithmetic_casescCsdddg}|�|dd��dS)N)))rr)r>r>)g�?g�?)))���r)r=r=)r>r=)))g�?r)r>r>)g@r>cSs||S)Nr)�x�yrrr�<lambda>��z0TestVec2D.test_vector_addition.<locals>.<lambda>)rV)r	rRrrr�test_vector_addition�szTestVec2D.test_vector_additioncCsddg}|�|dd��dS)N)))rr)r>r>)rWrW)))g@%@g�?)�
r)g�?g�?cSs||S)Nr)rXrYrrrrZ�r[z3TestVec2D.test_vector_subtraction.<locals>.<lambda>)rV)r	rRrrr�test_vector_subtraction�sz!TestVec2D.test_vector_subtractioncCsXtdd�}tdd�}||}d}|�||�tdd�}|d}tdd�}|�||�dS)Nr]g�?��#��)r?r4r;)r	r6r7Zanswerr$rCrrr�test_vector_multiply�s



zTestVec2D.test_vector_multiplycCs tdd�}d}|�||�dS)Nr]i����)i����r])r?r;)r	rCr$rrr�test_vector_negative�s
zTestVec2D.test_vector_negativecCs^tdd�}d}|�t|�|�tdd�}d}|�t|�|�tdd�}d}|�t|�|�dS)N��r]rg@g@)r?r!�abs)r	rCr$rrr�
test_distance�s


zTestVec2D.test_distancec
Csbdddddg}xN|D]F}|j|d��0|\\}}}t|�}|�|�}|�||�WdQRXqWdS)N)))rrr)rr)))rr>�Z)rWr)))rr>i����)r>r)))r>r�)rWr)))r>rih)r>r)rQ)rMr?�rotater;)r	ZcasesrQrCZrotr$Zgotrrr�test_rotate�s

zTestVec2D.test_rotateN)r,r-r.rDrFrIrPrVr\r^rcrdrhrlrrrrr<�s
	
	

r<c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#S)$�TestTNavigatorcCst��|_dS)N)r�
TNavigator�nav)r	rrr�setUp�szTestTNavigator.setUpcCs6|j�dd�|�|j��d�|�|j��d�dS)Nri����)ro�gotor4�xcor�ycor)r	rrr�	test_gotoszTestTNavigator.test_gotocCs>|�|j��|jj�|j�dd�|�|j��|jj�dS)Nri����)r!ro�posZ	_positionrq)r	rrr�test_posszTestTNavigator.test_poscCs0|�|jjd�|j�d�|�|jjd�dS)N)g�?rri)gg�?)r!ro�_orient�leftr;)r	rrr�	test_left
szTestTNavigator.test_leftcCs0|�|jjd�|j�d�|�|jjd�dS)N)g�?rri)rg�)r!rorw�rightr;)r	rrr�
test_rightszTestTNavigator.test_rightcCsd|j�dd�|�|j��d�|�|j��d�|j��|�|j��d�|�|j��d�dS)Nri����r)rorqr4rrrs�reset)r	rrr�
test_resets
zTestTNavigator.test_resetcCs||j�d�tdd�}|�|j��|�|j��|j�d�|j�d�tdd�}|�|j��|�|�t|jjd�dS)N�rriZ
skldjfldsk)	ro�forwardr?r;�positionr|rxrArB)r	r$rrr�test_forwards


zTestTNavigator.test_forwardcCsj|j�d�tdd�}|�|j��|�|j��|j�d�|j�d�tdd�}|�|j��|�dS)Nri8���rri)roZbackr?r;r�r|rz)r	r$rrr�test_backwards)s


zTestTNavigator.test_backwardscCs.|j�d�d}|�|j�tdd��|�dS)Nrr)rorr4�distancer?)r	r$rrrrh4szTestTNavigator.test_distancecCsZ|j�d�|�|j��d�|j��|�|j��d�|j��|�|j��d�dS)Nrig�m U�!�?)rorxr4�headingZradiansZdegrees)r	rrr�test_radians_and_degrees9s

z'TestTNavigator.test_radians_and_degreescCsvddddddddg}x\|D]T\\}}}|�|j�||�|�|�|j�||f�|�|�|j�t||��|�qWdS)	N))rrg))rrg�F@))rrg�V@))i����rg�`@))i����rg�f@))i����i����g l@))ri����g�p@))ri����g�s@)r!roZtowardsr?)r	ZcoordinatesrXrYr$rrr�test_towardsAszTestTNavigator.test_towardsc
Cs�|j�d�|�|j��d�|j�d�|�|j��d�|j�d�|�|j��d�|�t|jjd�|j��ddd	d
g}t|�d}x|D]}|j�|�q�W|�	|j��|�|j��dt|�d}x|D]}|j�|�q�W|�	|j��|�|j��dddd
d
dddddg
}d}xT|D]L}|dk�rL|j�t
|��n|j�|�||7}|�|j��|d��q,WdS)Nri�-�g�������?g����̬`@Zsdkfjdsfr]��i,ihiV���i.���gfffff&A@g�����I�i����g{�G�=�i�r)rorxr4r�rzrArBr|�sumr!rg)r	Z	rotationsrUZnumZ
sum_so_farrrr�test_headingTs6






zTestTNavigator.test_headingcCs||j�d�|�|j��d�|j�d�|�|j��d�|j�d�|�|j��d�|j�d�|�|j��d�dS)Ng�G�z�Y@g��Q��^�gp=
ף�m@g��Q�B��gףp=�S@i��x)roZ
setheadingr4r�)r	rrr�test_setheadingvszTestTNavigator.test_setheadingcCs:|j�d�|j�d�|j�d�|�|j��d�dS)Nrrii8���)gY@gi�)rorrxr;ru)r	rrr�test_positions�szTestTNavigator.test_positionscCs.|j�d�|j�d�|�|j��d�dS)Ng�����gZd;�Y�A)g�����gZd;�Y�A)roZsetxZsetyr;ru)r	rrr�test_setx_and_sety�sz!TestTNavigator.test_setx_and_setycCsJ|j�d�|j�d�|j��|�|j��d�|�|j��d�dS)Nrbi`y��)rrr)rorxr�homer;rur4r�)r	rrr�	test_home�s

zTestTNavigator.test_homecCsh|�|j�dd�d�tdd�}|�|j�|�d�t��}|�d�|�d�|�|j�|�d�dS)	Nrb�(�2g)\��(�?g����MbP?g�-�)�?rii')r4ror�r?rrnrxr)r	rCZanother_turtlerrr�test_distance_method�s


z#TestTNavigator.test_distance_methodN)r,r-r.rprtrvryr{r}r�r�rhr�r�r�r�r�r�r�r�rrrrrm�s"
"
rmc@seZdZdd�Zdd�ZdS)�TestTPencCsFt��}|�|���|��|�|���|��|�|���dS)N)r�TPen�
assertTrueZisdownZpenup�assertFalseZpendown)r	�tpenrrr�test_pendown_and_penup�szTestTPen.test_pendown_and_penupcCsFt��}|�|���|��|�|���|��|�|���dS)N)rr�r�Z	isvisibleZ
hideturtler�Z
showturtle)r	r�rrr�(test_showturtle_hideturtle_and_isvisible�sz1TestTPen.test_showturtle_hideturtle_and_isvisibleN)r,r-r.r�r�rrrrr��s
r��__main__)rLZunittestZtestr�
import_modulerr?rr&r(ZTestCaserr/r<rmr�r,�mainrrrr�<module>s
G
x"