ó žÃÒYc@s›dZddlmZmZmZmZddlZddlZddlZddl Z ddl m Z m Z mZddlmZddd„ƒYZdS( s) Unit tests for bipartite edgelists. iÿÿÿÿ(t assert_equalt assert_raisestassert_not_equaltraisesN(tassert_edges_equaltassert_nodes_equaltassert_graphs_equal(t bipartitet TestEdgelistcBsªeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zeejƒd „ƒZeeƒd„ƒZRS(cCsþtjddƒ|_ddddddg}|jj|ƒ|jjdddgd d ƒ|jjdddgd d ƒ|jjd d d ƒtj|jƒ|_tjƒ|_ |j jdddgƒ|j jd d d ƒ|j jd d d ƒdS(NtnamettesttatbtctdtetfRiitgi(R R (R R (R R(RR(RR(R R(ii(ii(ii( tnxtGraphtGtadd_edges_fromtadd_nodes_fromtadd_nodetDiGraphtDGt MultiGraphtMG(tselfR((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pytsetUpscCsGd}tj|ƒ}tj|dtƒ}t|jƒddgƒdS(Ns&# comment line 1 2 # comment line 2 3 tnodetypeiii(ii(ii(tiotBytesIORt read_edgelisttintRtedges(RtstbytesIOR((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_read_edgelist_1scCs¶d}tj|ƒ}tj|dtdtƒ}t|jƒd d gƒtj|ƒ}tj|dtdtƒ}t|jdtƒddidd6fddid d6fgƒdS( NsD# comment line 1 2 {'weight':2.0} # comment line 2 3 {'weight':3.0} Rtdataiiig@tweightg@(ii(ii( RR RR!R"tFalseRR#tTrue(RR$R%R((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_read_edgelist_3(scCsžtjƒ}tjƒ}|jdd gƒ|jdddƒ|jdddƒ|jdddƒtj||dtƒ|j dƒt |j ƒdƒdS( NiiiRiR's1 2 3 2 (ii(ii( RR RRRRRtwrite_edgelistR)tseekRtread(RtfhR((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_write_edgelist_18s   cCsžtjƒ}tjƒ}|jdd gƒ|jdddƒ|jdddƒ|jdddƒtj||dtƒ|j dƒt |j ƒdƒdS( NiiiRiR's1 2 {} 3 2 {} (ii(ii( RR RRRRRR,R*R-RR.(RR/R((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_write_edgelist_2Cs   cCs·tjƒ}tjƒ}|jddddƒ|jddddƒ|jdddƒ|jdddƒ|jdddƒtj||d tƒ|j dƒt |j ƒd ƒdS( NiiR(g@ig@RiR's(1 2 {'weight': 2.0} 3 2 {'weight': 3.0} ( RR RRtadd_edgeRRR,R*R-RR.(RR/R((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_write_edgelist_3Ns   cCsºtjƒ}tjƒ}|jddddƒ|jddddƒ|jdddƒ|jdddƒ|jdddƒtj||d dgƒ|jdƒt |j ƒd ƒdS( NiiR(g@ig@RiR's1 2 2.0 3 2 3.0 ( RR RRR2RRR,R-RR.(RR/R((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_write_edgelist_4Zs   cCs@tjƒ}yDtdƒtdƒtdƒ}tdƒtdƒtdƒ}WnQtk r£tdƒtdƒtdƒ}tdƒtdƒtdƒ}nX|j|did|6|j|d d ƒ|jdd d ƒtjƒ\}}t j ||ƒt j |ƒ}t ||ƒt j|ƒt j|ƒdS( Ni( i{ii§iiDt RadioheadiRii(RRtchrt ValueErrortunichrR2RttempfiletmkstempRR,R!Rtostclosetunlink(RRtname1tname2tfdtfnametH((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyt test_unicodefs   $  $  cCs0tjƒ}yDtdƒtdƒtdƒ}tdƒtdƒtdƒ}WnQtk r£tdƒtdƒtdƒ}tdƒtdƒtdƒ}nX|j|did|6|j|d d ƒ|jdd d ƒtjƒ\}}t t t j ||d d ƒt j|ƒt j|ƒdS(Ni( i{ii§iiDR5iRiitencodingslatin-1(RRR6R7R8R2RR9R:RtUnicodeEncodeErrorRR,R;R<R=(RRR>R?R@RA((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_latin1_issuexs   $  $ cCs tjƒ}y4tdƒ}dtdƒd}tdƒd}Wn5tk rwdtdƒd}tdƒd}nX|j|did|6|j|d d ƒ|jdd d ƒtjƒ\}}t j ||d d ƒt j |d d ƒ}t ||ƒt j|ƒt j|ƒdS(NiÝtBjiötrkiÜtberR5iRiiRDslatin-1(RRR6R7R8R2RR9R:RR,R!RR;R<R=(RRtblurbR>R?R@RARB((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyt test_latin1Šs"     cCs¿|j}tjƒ\}}tj||ƒtj|ƒ}tj|ƒ}t||ƒ|jdƒtt |ƒt |ƒƒt t |j ƒƒt |j ƒƒƒt j |ƒt j|ƒdS(NR(RR9R:RR,R!Rt remove_nodeRtlistRR#R;R<R=(RRR@RARBtH2((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_edgelist_graphs   % cCsÁtj|jƒ}tjƒ\}}tj||ƒtj|dtƒ}|j t tj |ƒƒƒt t |ƒt |ƒƒt t |jƒƒt |jƒƒƒtj|ƒtj|ƒdS(NR(Rtconvert_node_labels_to_integersRR9R:RR,R!R"tremove_nodes_fromRMtisolatesRRR#R;R<R=(RRR@RARB((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_edgelist_integersªs% cCsÖ|j}tjƒ\}}tj||ƒtj|dtdtjƒƒ}tj|dtdtjƒƒ}t ||ƒt t |ƒt |ƒƒt t |j ƒƒt |j ƒƒƒtj|ƒtj|ƒdS(NRt create_using(RR9R:RR,R!R"RRRRRMRR#R;R<R=(RRR@RARBRN((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_edgelist_multigraph¶s !! % cCs&tjƒ}tjtjƒ|ƒdS(N(RR RR,RR(RR%((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_empty_digraphÂs cCs/tjdƒ}tjƒ}tj||ƒdS(Ni(Rt path_graphRR RR,(RRR%((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyttest_raise_attributeÇs (t__name__t __module__RR&R+R0R1R3R4RCRFRKRORSRURRtNetworkXNotImplementedRVtAttributeErrorRX(((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyRs     ((t__doc__t nose.toolsRRRRRR9R;tnetworkxRtnetworkx.testingRRRtnetworkx.algorithmsRR(((s‡/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/bipartite/tests/test_edgelist.pyts"