ó žÃÒYc@sBdZddlTddlZddlZdefd„ƒYZdS(s4 Tests for maximal (not maximum) independent sets. iÿÿÿÿ(t*NtTestMaximalIndependantSetcBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(cCstjƒ|_|jjddƒ|jjddƒ|jjddƒ|jjddƒ|jjddƒ|jjddƒ|jjddƒ|jjdd ƒ|jjdd ƒ|jjd d ƒ|jjddƒ|jjdd ƒ|jjddƒ|jjdd ƒ|jjddƒ|jjdd ƒ|jjd dƒ|jjd d ƒ|jjd d ƒ|jjd dƒdS(Nt AcciaiuolitMedicit CastellanitPeruzzitStrozzit BarbadoritRidolfit TornabuonitAlbizzitSalviatitPazzitBischeritGuadagnitGinorit Lamberteschi(tnxtGrapht florentinetadd_edge(tself((sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pytsetups*cCsCtjdƒ}x-|D]%}ttj||gƒ|gƒqWdS(sMaximal independent set: K5iN(Rtcomplete_grapht assert_equaltmaximal_independent_set(RtGtnode((sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pyttest_K5/s cCsCtjdƒ}x-|D]%}ttj||gƒ|gƒqWdS(sMaximal independent set: K55i7N(RRRR(RRR((sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pyttest_K555s cCsH|j}ttjtj|dgƒttjtj|ddgƒdS(s!Bad input should raise exception.tSmithR R N(Rt assert_raisesRtNetworkXUnfeasibleR(RR((sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pyttest_exception;s    cCs/tjddgƒ}ttjtj|ƒdS(Niiii(ii(ii(RtDiGraphRtNetworkXNotImplementedR(RR((sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pyttest_digraph_exceptionCsc CsP|j}tj|ddgƒ}tt|ƒtddddddgƒƒdS(NRR RR RR(RRRRtsorted(RRtindep((sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pyttest_florentine_familyGs   cCsStjddƒ}tj|ddddgƒ}tt|ƒttdƒƒƒdS(Ni i"iii i (Rtcomplete_bipartite_graphRRR%tlisttrange(RRR&((sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pyttest_bipartiteNscsÇxÀtdddƒD]¬}tjj|ddtjƒƒ‰tjˆƒ}ttˆj|ƒj ƒƒƒt j ‡fd†|DƒŒ}x3t ˆj ƒƒj |ƒD]}t||kƒq¥WqWdS(swGenerate 50 random graphs of different types and sizes and make sure that all sets are independent and maximal.ii2i ic3s$|]}tˆj|ƒƒVqdS(N(tsett neighbors(t.0tv(R(sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pys ZsN(R*Rt random_graphsterdos_renyi_graphtrandomRt assert_falseR)tsubgraphtedgesR,tuniontnodest differencet assert_true(RtitIStneighbors_of_MISR/((Rsx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pyttest_random_graphsSs#"( t__name__t __module__RRRR!R$R'R+R=(((sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pyRs       (t__doc__t nose.toolstnetworkxRR2tobjectR(((sx/private/var/folders/w6/vb91730s7bb1k90y_rnhql1dhvdd44/T/pip-build-w4MwvS/networkx/networkx/algorithms/tests/test_mis.pyts