ó ŸÃÒYc@sddZddlZddlZddlmZddlmZddlZde fd„ƒYZ dS(sUnit tests for shp. iÿÿÿÿN(tSkipTest(t assert_equaltTestShpcBs_eZed„ƒZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z RS( cCs8yddlmaWntk r3tdƒ‚nXdS(Niÿÿÿÿ(togrsogr not available.(tosgeoRt ImportErrorR(tcls((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyt setupClass s cGs7x0|D](}tjj|ƒr|j|ƒqqWdS(N(tostpathtexiststDeleteDataSource(tselftdrvtpathstp((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyt deletetmps cCs´tjd„}tjdƒ}tjjtjƒdƒ}tjjtjƒdƒ}tjjtjƒdƒ}|j||||ƒtj |ƒddddg|_ ddgddgdddgf|_ dddg|_ ddgddgddgf|_ ddddg|_|j|ƒ}||ƒ}x’t|j |j ƒD]{\}} tj|jƒƒ} tjtjƒ} x|D]} | j| Œq„W| j| ƒ| jd| ƒ|j| ƒqJW|j|ƒ} || tjƒ}tjtjƒ}xN|j D]C}tjtjƒ} x|D]} | j| Œq%W|j| ƒqWtj|jƒƒ}|j|ƒ|jddƒ|j|ƒ||_||_||_||_dS(NcSsH|jdd|ƒ}tjdtjƒ}|jdƒ|j|ƒ|S(NtedgestNamei (t CreateLayertNoneRt FieldDefnt OFTStringtSetWidtht CreateField(tdrivert layerTypetlyrtnamedef((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyt createlayers   sESRI Shapefiletshpdirs tmpshp.shps tmp_mshp.shptatbtcgð?g@g@gÍÌÌÌÌÌì?g@R(gð?gð?(g@g@(g@g@(g@g@(gÍÌÌÌÌÌì?gÍÌÌÌÌÌì?(g@gÍÌÌÌÌÌì?(g@g@(gð?gð?(g@g@(g@g@(g@g@(gÍÌÌÌÌÌì?gÍÌÌÌÌÌì?(g@g@(Rt wkbLineStringtGetDriverByNameRR tjointtempfilet gettempdirRtmkdirtnamesRtsimplified_namestsimplified_pathst multi_namestCreateDataSourcetziptFeaturet GetLayerDefntGeometryt AddPoint_2Dt SetGeometrytSetFieldt CreateFeaturetwkbMultiLineStringt AddGeometrytshppatht multi_shppathttestdirR (R RR R9R7R8tshpRR tnametfeattgRt multi_shpt multi_lyrtmulti_gt multi_feat((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pytsetUpsT      "        cCs‘d„}tj|jƒ}|||j|jƒtj|jdtƒ}|||j|jƒtj|jdtƒ}|||j|j ƒdS(NcSs½tjƒ}x|D]}tj||ƒqWtt|jƒt|jƒƒtt|jƒƒt|jƒƒƒg|jƒD]"\}}|j||ƒd^q~}t|t|ƒƒdS(NR(tnxtDiGraphtadd_pathRtsortedtnodesRt get_edge_data(R=RR(texpectedRtstetg_names((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pytcompare_graph_paths_names\s  %5tsimplify( RCtread_shpR7R*R)tFalseRR(R8R+(R RMtG((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyttestloadZs   cCsa|jƒ}g}x/|rC|j|jƒjƒƒ|jƒ}qWtt|ƒt|ƒƒdS(N(tGetNextFeaturetappendtGetGeometryReft ExportToWktRRF(R RRItfeaturet actualwkt((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyt checkgeomrs   cCsd}d}d}d}tjjtjƒd ƒ}tj|jƒ}tj||ƒt j |ƒ}|j |j d ƒ|ƒ|j |j dƒ|ƒtj|jdt ƒ}tj||ƒt j |ƒ}|j |j d ƒ|ƒ|j |j dƒ|ƒdS(Ns POINT (1 1)s POINT (2 2)s POINT (3 3)sPOINT (0.9 0.9)s POINT (4 2)sLINESTRING (1 1,2 2)sLINESTRING (2 2,3 3)s LINESTRING (0.9 0.9,4.0 0.9,4 2)sPOINT (4.0 0.9)sLINESTRING (0.9 0.9,4.0 0.9)sLINESTRING (4.0 0.9,4 2)RRGRRN(s POINT (1 1)s POINT (2 2)s POINT (3 3)sPOINT (0.9 0.9)s POINT (4 2)(sLINESTRING (1 1,2 2)sLINESTRING (2 2,3 3)s LINESTRING (0.9 0.9,4.0 0.9,4 2)(s POINT (1 1)s POINT (2 2)s POINT (3 3)sPOINT (0.9 0.9)sPOINT (4.0 0.9)s POINT (4 2)(sLINESTRING (1 1,2 2)sLINESTRING (2 2,3 3)sLINESTRING (0.9 0.9,4.0 0.9)sLINESTRING (4.0 0.9,4 2)(RR R$R%R&RCROR7t write_shpRtOpenRYtGetLayerByNameRP(R texpectedpoints_simpletexpectedlines_simpletexpectedpointst expectedlinesttpathRQR((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyttest_geometryexportzs:cCsud„}tjjtjƒdƒ}tj|jƒ}tj||ƒt j |ƒ}|j dƒ}|||ƒdS(NcSs’|jƒ}x|rg}|jƒ}|jƒd}|jdƒ|j|ƒf}|jdƒ}t|j|Œd|ƒ|jƒ}qWdS(NiiR(RSRUt GetPointCountt GetPoint_2DtGetFieldAsStringRRH(RtgraphRWtcoordstreftlastt edge_nodesR;((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyttestattributes©s   RR( RR R$R%R&RCROR7RZRR[R\(R RkRaRQRR((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyttest_attributeexport¨s cCsütjƒ}tjjtjƒdƒ}d }d }|jdd|dƒ|jdd|dƒ|jddd|dƒytj ||ƒWn%t k r¶}t s·t |ƒ‚nXt j|ƒ}|j|jd ƒ|ƒ|j|jd ƒ|ƒdS( NRsPOINT (0.9 0.9)s POINT (4 2)sLINESTRING (0.9 0.9,4 2)itWktiiRGR(sPOINT (0.9 0.9)s POINT (4 2)(sLINESTRING (0.9 0.9,4 2)(RCRDRR R$R%R&tadd_nodetadd_edgeRZt ExceptionRPtAssertionErrorRR[RYR\(R RQRatpointstlineRKR((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyttest_wkt_export¼s cCs |j|j|j|jƒdS(N(RR R9R7(R ((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyttearDownÑs( t__name__t __module__t classmethodRRRBRRRYRbRlRtRu(((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyR s  A   .  ( t__doc__RR%tnoseRt nose.toolsRtnetworkxRCtobjectR(((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/readwrite/tests/test_shp.pyts