Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_turtle.cpython-35.opt-2.pyc



���]q1�@s�ddlZddlZddlmZejd�ZejZdZdZdZ	Gdd�dej
�ZGd	d
�d
�ZGdd�deej
�Z
Gd
d�deej
�ZGdd�dej
�Zedkr�ej�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	CsF|jtjtj�ttjd��}|j|�WdQRXtjS)N�w)Z
addCleanupr�unlinkZTESTFN�open�write)�selfZcfg_str�f�r�0/opt/alt/python35/lib64/python3.5/test_turtle.py�get_cfg_file4szTurtleConfigTest.get_cfg_filec(Cs�|jt�}tj|�}ddddddddd	d
dd
dd
dddd
ddddddddddddddddd d!d"d#d$d%i}|j||�dS)&N�widthg�?Zheightg�������?Z	canvwidthi�Z
canvheight��Z	leftright�dZ	topbottom�modeZworldZ	colormode��delayZundobuffersizei'�shapeZcircle�pencolor�red�	fillcolor�blueZ
resizemodeZauto�visible�language�englishZ
exampleturtlerZ
examplescreenZscreen�titlezPython Turtle Graphics�
using_IDLE�)r
�test_configr�config_dict�assertEqual)r	�cfg_name�
parsed_cfg�expectedrrr�test_config_dict:s.z!TurtleConfigTest.test_config_dictc
CsV|jt�}tj|�}ddddddddd	di}|j||�dS)
NrrrrrFrrr)r
�test_config_tworr r!)r	r"r#r$rrr�'test_partial_config_dict_with_commmentsXsz8TurtleConfigTest.test_partial_config_dict_with_commmentsc
Cs�|jt�}tj��}tj|�}WdQRX|j�}|jd|�|jd|�|j|ddddi�dS)NzBad line in config-file zfillcolor: bluerrrF)	r
�invalid_test_configrZcaptured_stdoutrr �getvalueZassertInr!)r	r"�stdoutr#�err_msgrrr�test_config_dict_invalidgs	z)TurtleConfigTest.test_config_dict_invalidN)�__name__�
__module__�__qualname__r
r%r'r,rrrrr2src@seZdZdd�ZdS)�VectorComparisonMixincCstt|�t|�kr%|jd�xHtt||��D]1\}\}}|j||ddj|��q;WdS)NzTuples are not of equal size�msgzvalues at index {} do not match)�lenZfail�	enumerate�zip�assertAlmostEqual�format)r	�vec1�vec2�idx�i�jrrr�assertVectorsAlmostEqual{s

(z.VectorComparisonMixin.assertVectorsAlmostEqualN)r-r.r/r<rrrrr0ysr0c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�	TestVec2DcCs�tdd�}|j|dd�|j|dd�|j|t�|jtt�|jttd�|jttd�|jtt|�|jttddd�dS)Ng�?�r�)rr?)�Vec2Dr!�assertIsInstance�assertRaises�	TypeError)r	�vecrrr�test_constructor�szTestVec2D.test_constructorcCs)tdd�}|jt|�d�dS)Ng��/�$�?gX9��v��?z(0.57,1.23))r@r!�repr)r	rDrrr�	test_repr�szTestVec2D.test_reprcCs�tdd�}tdd�}tdd�}|j||�|j|t|��|jt|�|�|j||�|j||�dS)Nrr?g�*)r@r!�tupleZassertNotEqual)r	r7r8Zvec3rrr�
test_equality�szTestVec2D.test_equalitycCs�tdd�}xyttjd�D]d}|jd|��Itj|d|�}tj|�}|j||�|j|t�WdQRXq#WdS)Ng�?r>r?�proto�protocol)	r@�range�pickle�HIGHEST_PROTOCOL�subTest�dumps�loadsr!rA)r	rDrKZpickledZ	unpickledrrr�
test_pickling�szTestVec2D.test_picklingc
Cs�x}|D]u}|jd|��Z|\\}}}t|�}t|�}|||�}	t|�}|j|	|�WdQRXqWdS)N�case)rPr@r<)
r	�
test_casesZlambda_operatorZ	test_case�first�secondr$Zop1Zop2�resultrrr�_assert_arithmetic_cases�s
z"TestVec2D._assert_arithmetic_casescCs)d
ddg}|j|dd��dS)Nrr?��?r>��?�@cSs||S)Nr)�x�yrrr�<lambda>�sz0TestVec2D.test_vector_addition.<locals>.<lambda>�rr�r?r?�r`ra�rZrZ)rbrc����rdr�r>r>�rerf�r?r>)rgrh�r[r�r?r?�rirj�r\r?)rkrl)rY)r	rUrrr�test_vector_addition�s	zTestVec2D.test_vector_additioncCs&ddg}|j|dd��dS)Nrr?�@%@��?�
��?cSs||S)Nr)r]r^rrrr_�sz3TestVec2D.test_vector_subtraction.<locals>.<lambda>�rr�r?r?�rrrsrdrd�rdrd)rtru�rnro�rpr�rvrw�rqro)rxry)rY)r	rUrrr�test_vector_subtraction�s	z!TestVec2D.test_vector_subtractioncCsztdd�}tdd�}||}d}|j||�tdd�}|d}tdd�}|j||�dS)Nrpg�?��#��)r@r5r<)r	r7r8Zanswerr$rDrrr�test_vector_multiply�s

zTestVec2D.test_vector_multiplycCs*tdd�}d}|j||�dS)Nrpi�������)r�rp)r@r<)r	rDr$rrr�test_vector_negative�szTestVec2D.test_vector_negativecCs�tdd�}d}|jt|�|�tdd�}d}|jt|�|�tdd�}d}|jt|�|�dS)N��rprg@g@)r@r!�abs)r	rDr$rrr�
test_distance�szTestVec2D.test_distancecCs�d
ddddg}xe|D]]}|jd|��B|\\}}}t|�}|j|�}|j||�WdQRXqWdS)Nrr?�Z��hrT�rr�r�r�rr)r�r��rr?�r�r�rd�rdr)r�r��rr?����r�r��r?r)r�r��r?r�r�r�rd�rdr)r�r��r?r�r�r��r?r)r�r�)rPr@�rotater<)r	ZcasesrTrDZrotr$Zgotrrr�test_rotate�s	
zTestVec2D.test_rotateN)r-r.r/rErGrJrSrYrmrzrr�r�r�rrrr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)$�TestTNavigatorcCstj�|_dS)N)r�
TNavigator�nav)r	rrr�setUp�szTestTNavigator.setUpcCsI|jjdd�|j|jj�d�|j|jj�d�dS)Nri����i����)r��gotor5�xcor�ycor)r	rrr�	test_gotoszTestTNavigator.test_gotocCsU|j|jj�|jj�|jjdd�|j|jj�|jj�dS)Nri����)r!r��posZ	_positionr�)r	rrr�test_posszTestTNavigator.test_poscCs@|j|jjd�|jjd�|j|jjd�dS)N��?rr��)r�r)r�r�)r!r��_orient�leftr<)r	rrr�	test_left
szTestTNavigator.test_leftcCs@|j|jjd�|jjd�|j|jjd�dS)N��?rr�)r�r��)rr�)r!r�r��rightr<)r	rrr�
test_rightszTestTNavigator.test_rightcCs�|jjdd�|j|jj�d�|j|jj�d�|jj�|j|jj�d�|j|jj�d�dS)Nrri����i����)r�r�r5r�r��reset)r	rrr�
test_resets
zTestTNavigator.test_resetcCs�|jjd�tdd�}|j|jj�|�|jj�|jjd�|jjd�tdd�}|j|jj�|�|jt|jjd�dS)N�rr�Z
skldjfldsk)	r��forwardr@r<�positionr�r�rBrC)r	r$rrr�test_forwards
zTestTNavigator.test_forwardcCs�|jjd�tdd�}|j|jj�|�|jj�|jjd�|jjd�tdd�}|j|jj�|�dS)Nrrr�i8���)r�Zbackr@r<r�r�r�)r	r$rrr�test_backwards)s
zTestTNavigator.test_backwardscCs?|jjd�d}|j|jjtdd��|�dS)Nrr)r�r�r5�distancer@)r	r$rrrr�4szTestTNavigator.test_distancecCsy|jjd�|j|jj�d�|jj�|j|jj�d�|jj�|j|jj�d�dS)Nr�g�m U�!�?)r�r�r5�heading�radians�degrees)r	rrr�test_radians_and_degrees9s

z'TestTNavigator.test_radians_and_degreesc	Cs�dddddddd g}x�|D]x\\}}}|j|jj||�|�|j|jj||f�|�|j|jjt||��|�q%WdS)!Nrr���F@��V@��`@��f@� l@��p@��s@�rr)r�r��rr)r�r��rr)r�r�����r�r)r�r�����r�r)r�r��������r�r�)r�r�����rr�)r�r�����rr�)r�r�)r!r�Ztowardsr@)r	Zcoordinatesr]r^r$rrr�test_towardsAs	"zTestTNavigator.test_towardsc
Cs|jjd�|j|jj�d�|jjd�|j|jj�d�|jjd�|j|jj�d�|jt|jjd�|jj�ddd	d
g}t|�d}x|D]}|jj|�q�W|j	|jj�|�|jj�dt|�d}x|D]}|jj|�q%W|j	|jj�|�|jj�dddd
dd
ddddg
}d}xj|D]b}|dkr�|jjt
|��n|jj|�||7}|j|jj�|d�q�WdS)Nr��-�g�������?g����̬`@Zsdkfjdsfrp��i,ih��gfffff&A@g�����I@g{�G�=@i�riV���i.���g�����I�i����g{�G�=�)r�r�r5r�r�rBrCr��sumr!r�)r	Z	rotationsrX�numZ
sum_so_farrrr�test_headingTs6




$

zTestTNavigator.test_headingcCs�|jjd�|j|jj�d�|jjd�|j|jj�d�|jjd	�|j|jj�d�|jjd�|j|jj�d�dS)
Ng�G�z�Y@g��Q��^@ihg��Q�B�@i�g��Q��^�g��Q��^�gp=
ף�m@g��Q�B��g��Q�B��gףp=�S@�x)r�Z
setheadingr5r�)r	rrr�test_setheadingvszTestTNavigator.test_setheadingcCsM|jjd�|jjd�|jjd�|j|jj�d�dS)	Nrr�r�Y@gi@i8����i�)r�r�)r�r�r�r<r�)r	rrr�test_positions�szTestTNavigator.test_positionscCs=|jjd�|jjd�|j|jj�d�dS)Ng����@�Zd;�Y�Ag�����������)r�r�)r�ZsetxZsetyr<r�)r	rrr�test_setx_and_sety�sz!TestTNavigator.test_setx_and_setycCsc|jjd�|jjd�|jj�|j|jj�d�|j|jj�d�dS)Nr~i��ri`y��)rr)r�r�r��homer<r�r5r�)r	rrr�	test_home�s

zTestTNavigator.test_homecCs�|j|jjdd�d�tdd�}|j|jj|�d�tj�}|jd�|jd�|j|jj|�d�dS)	Nr~�(�2g)\��(�?g����MbP?g�-�)�?r�i')r5r�r�r@rr�r�r�)r	rDZanother_turtlerrr�test_distance_method�s

z#TestTNavigator.test_distance_methodN)r-r.r/r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr��s"
"
r�c@s(eZdZdd�Zdd�ZdS)�TestTPencCs]tj�}|j|j��|j�|j|j��|j�|j|j��dS)N)r�TPen�
assertTrueZisdownZpenup�assertFalseZpendown)r	�tpenrrr�test_pendown_and_penup�s

zTestTPen.test_pendown_and_penupcCs]tj�}|j|j��|j�|j|j��|j�|j|j��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__)rNZunittestZtestr�
import_modulerr@rr&r(ZTestCaserr0r=r�r�r-�mainrrrr�<module>s	G
x�