ó žÃÒYc@sPddlTddlZddlmZddd„ƒYZdd d„ƒYZdS( iÿÿÿÿ(t*N(tconvert_node_labels_to_integerst TestCliquescBszeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z e e jƒd „ƒZRS( c CsÖdddddddddddg }ttjj|ƒddƒ|_ttj|jƒƒ|_tjdƒ}tj |t gt dƒD]}||df^q‹ƒƒ}|j dd d d d gƒ||_ dS( Niiiit first_labelii(ii(ii(ii(ii(ii(tcnltitnxt generatorsthavel_hakimi_graphtGtlistt find_cliquestcltcomplete_grapht relabel_nodestdicttrangetremove_edges_fromtH(tselftzRti((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pytsetUp s'!;cCsÃttj|jƒƒ}tj|jƒ}ddddgdddgdddgdd gd d gg}tttt|ƒƒttt|ƒƒƒtttt|ƒƒttt|ƒƒƒdS( Niiiiiiiii i i (R RR Rtfind_cliques_recursivet assert_equaltsortedtmap(RR trcltexpected((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_find_cliques1s ?+cCs²|jjddƒttj|jƒƒ}tj|jƒ}tttt|ƒƒttt|ƒƒƒt|ddddgdddgdddgdd gd d ggƒdS( Niiiiiiiii i i ( Rtadd_edgeR RR RRRR(RR R((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_selfloopss +cCsettj|jƒƒ}tttt|ƒƒddgddddgddgdddggƒdS(Niiiiii(R RR RRRR(Rthcl((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_find_cliques2!scCsB|j}ttj|ƒdƒttj|d|jƒdƒdS(Nitcliques(RRRtgraph_clique_numberR (RR((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_clique_number&s cCsê|j}ttj|ƒdƒttj|d|jƒdƒttj|dƒdƒtttj|dgƒjƒƒdgƒtttj|ddgƒjƒƒddgƒttj|ddgƒidd6dd6ƒttj|dƒdƒttj|ƒi dd6dd6dd6dd6dd6dd6dd6dd 6dd 6dd 6dd 6ƒttj|d t|ƒƒi dd6dd6dd6dd6dd6dd6dd6dd 6dd 6dd 6dd 6ƒttj|d dddgƒidd6dd6dd6ƒttj|d|jƒi dd6dd6dd6dd6dd6dd6dd6dd 6dd 6dd 6dd 6ƒttj|t|ƒd|jƒi dd6dd6dd6dd6dd6dd6dd6dd 6dd 6dd 6dd 6ƒdS(NiR!iiiiiiii i i tnodes(RRRtgraph_number_of_cliquesR tnumber_of_cliquesR tvalues(RR((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_number_of_cliques+s, +1-&.&.&.!&cCs—|j}ttj|dƒdƒtttj|dgƒjƒƒdgƒtttj|ddgƒjƒƒddgƒttj|ddgƒidd6dd6ƒttj|dƒdƒttj|ƒi dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd 6dd 6ƒttj|d |jƒi dd6dd6dd6dd6dd6dd6dd6dd6dd 6dd 6dd 6ƒdS( Niiiiiiiii i i R!(RRRtnode_clique_numberR R'R (RR((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_node_clique_numberCs +1--'-cCsÖ|j}ttj|dƒddddggƒtttj|dgƒjƒƒddddgggƒtttj|ddgƒjƒƒddddggddddgdddgggƒttj|ddgƒiddddggd6ddddgdddggd6ƒttj|dƒddddggƒttj|dƒddddgdddggƒttj|dd|jƒddddgdddggƒtttj|ƒƒdƒdS(NiiiiiR!i (RRRtcliques_containing_nodeR R'R tlen(RR((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_cliques_containing_nodeQs  !$7?""cCsï|j}tj|ƒ}tt|ƒddddddddd d d d d dddgƒtj|tddƒƒ}t|j|jƒtj|tddƒƒ}tj|d„tdd ƒDƒƒ}tt|ƒdddd d gƒdS(Niûÿÿÿiüÿÿÿiýÿÿÿiþÿÿÿiÿÿÿÿiiiiiiiii i i i icSsi|]}|| “qS(((t.0tv((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pys ns ( RRtmake_clique_bipartiteRRtprojectRtadjR (RRtBRtH1((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_make_clique_bipartitecs  7%cCs~|j}tj|ƒ}tj|tddƒƒ}tj|d„tddƒDƒƒ}tj|ƒ}t|j|jƒdS(s¦Tests that the maximal clique graph is the same as the bipartite clique graph after being projected onto the nodes representing the cliques. iûÿÿÿicSsi|]}|d| “qS(i((R.R/((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pys }s iiN( RRR0R1RR tmake_max_clique_graphRR2(RRR3R4tH2((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_make_max_clique_graphqs  %cCstjtjƒƒ}dS(N(RR tDiGraph(RR!((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyt test_directeds(t__name__t __module__RRRR R#R(R*R-R5R8traisesRtNetworkXNotImplementedR:(((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyRs         tTestEnumerateAllCliquescBseZd„ZRS(c0Csžtjƒ}dd d d d d dddddddddddg}|j|ƒttj|ƒƒ}ttt|ƒƒ}tt|ƒ|ƒdgdgdgdgdgdgdgddgdddgddddgdddgddgdddgddddgdddgddgdddgddgddgdddgddddgdddgdddgddgdddgddgddgddgdddgddddgdddgddgdddgddgdddgddgddgdddgddgddgddgdddgddddgdddddgddddgg-}tttt|ƒƒttt|ƒƒƒdS(Ntatbtctdtetftg(R@RA(R@RB(R@RC(R@RD(RARB(RARC(RARD(RBRC(RBRD(RCRD(RERA(RERB(RERF(RFRE(RFRB(RFRC(RFRD( RtGraphtadd_edges_fromR tenumerate_all_cliquesRR,RR(RRt edges_fig_4R!t clique_sizestexpected_cliques((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyttest_paper_figure_4ˆst                                    (R;R<RM(((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyR?†s(((t nose.toolstnetworkxRRRRR?(((s{/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_clique.pyts