ó ŸÃÒYc@s”ddlmZddlmZmZmZmZddlZddl m Z ddl m Z m Z mZddlm Z defd„ƒYZdS(iÿÿÿÿ(tSkipTest(t assert_raisest assert_truet assert_equaltraisesN(tassert_graphs_equal(t barbell_grapht cycle_grapht path_graphtTestConvertNumpycBsòeZed„ƒZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zeejƒd„ƒZeejƒd„ƒZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs[y7ddladdladdljatjjaWnt k rVt dƒ‚nXdS(Niÿÿÿÿs#SciPy sparse library not available.( tnumpytnptscipytspt scipy.sparsetsparsettestingRtnp_assert_equalt ImportErrorR(tcls((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyt setupClass s   cCsatddƒ|_tddtjƒƒ|_|jtjƒƒ|_|jtjƒƒ|_ dS(Ni it create_using( RtG1RtnxtDiGraphtG2tcreate_weightedtGraphtG3tG4(tself((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyt__init__scCs0dtfd„ƒY}ttjtj|ƒdS(NtGcBseZdZRS(N(t__name__t __module__tNonetformat(((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyR s(tobjectRRt NetworkXErrortto_networkx_graph(RR ((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyttest_exceptionssc Csœtdƒ}t|jƒƒ}g|D]\}}|^q%}g|D]\}}|^qD}g|D]}|d^qc} t||| ƒ} |j| ƒ|S(Nii (Rtlisttedgestziptadd_weighted_edges_from( RR tgtetutvtsourcetdesttstweighttex((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyR#s  cCsttj||ƒƒdS(N(RRt is_isomorphic(RRR((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pytassert_isomorphic-sc CsDtj|d|ƒ}|j||ƒtj|d|ƒ}|j||ƒ|j|ƒ}|j||ƒ|jƒ}|j|ƒ}|j||ƒ|jƒ}|j|ƒ}|j||ƒ|jƒ} |j| ƒ}|j||ƒ|jƒ} |j| ƒ}|j||ƒ|j ƒ} |j| ƒ}|j||ƒdS(NR( Rtfrom_scipy_sparse_matrixR7R't __class__ttocsrttocoottocscttodensettoarray( RR tARtGGtGWtGItACSRtACOOtACSCtADtAA((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pytidentity_conversion0s*     cCsDtjjdddgdddggƒ}ttjtj|ƒdS(s(Conversion from non-square sparse array.iiiiiiN(R Rt lil_matrixRRR&R8(RR?((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyt test_shapeNs*cCs2tj|jƒ}|j|j|tjƒƒdS(s0Conversion from graph to sparse matrix to graph.N(Rtto_scipy_sparse_matrixRRHR(RR?((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyttest_identity_graph_matrixSscCs2tj|jƒ}|j|j|tjƒƒdS(s4Conversion from digraph to sparse matrix to digraph.N(RRKRRHR(RR?((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyttest_identity_digraph_matrixXscCs2tj|jƒ}|j|j|tjƒƒdS(sBConversion from weighted graph to sparse matrix to weighted graph.N(RRKRRHR(RR?((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyt#test_identity_weighted_graph_matrix]scCs2tj|jƒ}|j|j|tjƒƒdS(sFConversion from weighted digraph to sparse matrix to weighted digraph.N(RRKRRHR(RR?((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyt%test_identity_weighted_digraph_matrixbscCstdƒ}tdƒ}t|jƒƒ}tj|d|ƒ}tj|ƒ}|j||ƒ||dg7}ttjtj |d|ƒdS(s>Conversion from graph to sparse matrix to graph with nodelist.iitnodelistiN( RR)tnodesRRKRR7RR&tto_numpy_matrix(RtP4tP3RPR?tGA((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyt test_nodelistgs  cCsÂtjƒ}|jd„tdƒDƒƒtdƒ}tj|ƒ}t|jƒtj|ddƒjƒƒtd|jƒtj|ƒjƒƒtd|jƒtj|ddƒjƒƒdS(Ncss1|]'}||dtddddƒfVqdS(iR4gà?totherg333333Ó?N(tdict(t.0tn((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pys wsiiR4gà?g333333Ó?RW( RRtadd_edges_fromtrangeRRKRR=R#(RtWP4RSR?((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyttest_weight_keywordus    cCsätjƒ}|jd„tdƒDƒƒtdƒ}tj|ddƒ}t|jƒtj|ddƒjƒƒtj|ddƒ}t|jƒtj|ddƒjƒƒtj|ddƒ}t|jƒtj|ddƒjƒƒtj|dd ƒ}t|jƒtj|ddƒjƒƒtj|dd ƒ}t|jƒtj|ddƒjƒƒtj|dd ƒ}t|jƒtj|ddƒjƒƒtj|dd ƒ}t|jƒtj|ddƒjƒƒdS( Ncss1|]'}||dtddddƒfVqdS(iR4gà?RWg333333Ó?N(RX(RYRZ((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pys „siiR$tcsrR4tcsctcootbsrtliltdiatdok( RRR[R\RRKRR=R#(RR]RSR?((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyttest_format_keyword‚s2          cCsLtjƒ}|jd„tdƒDƒƒtdƒ}tj|ddƒdS(Ncss1|]'}||dtddddƒfVqdS(iR4gà?RWg333333Ó?N(RX(RYRZ((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pys ¦siiR$t any_other(RRR[R\RRK(RR]RS((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyttest_format_keyword_raise£s    cCstjtjƒƒdS(N(RRKR(R((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyttest_null_raise«scCsNtjƒ}|jdƒtj|ƒ}t|jƒtjdggƒƒdS(Nii(RRtadd_nodeRKRR=R tmatrix(RR tM((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyt test_empty¯s  cCsžtjƒ}|jddƒ|jddƒ|jddƒtj|ddddgƒ}t|jƒtjdddgdddgdddggƒƒdS(NiiiRPi(RRtadd_edgeRKRR=R Rk(RR Rl((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyt test_orderingµs  cCsGtjdgƒ}tj|ƒ}t|jƒtjdggƒƒdS(Ni(ii(RRRKRR=R Rk(RR Rl((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyttest_selfloop_graph½scCsGtjdgƒ}tj|ƒ}t|jƒtjdggƒƒdS(Ni(ii(RRRKRR=R Rk(RR Rl((sw/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/tests/test_convert_scipy.pyttest_selfloop_digraphÂscCsÈtjddgddggƒ}tjƒ}dd d g}|jg|D]\}}||df^qIƒ|jddddƒtj|dtdtjƒƒ}t||ƒtj|dt dtjƒƒ}t||ƒd d d ddg}tj ƒ}|jg|D]\}}||df^q ƒtj|dtdtj ƒƒ}t||ƒtj ƒ}|j t |ƒddƒd|dddds "