use Test::More tests => 29; use Graph; use Graph::Directed; use Graph::Undirected; my \$g = Graph->new; my \$c = \$g->complete; is(\$c->edges, 0); my \$g0 = Graph::Directed->new(); \$g0->add_edge(qw(a b)); \$g0->add_edge(qw(a c)); my \$g1 = Graph::Undirected->new(); \$g1->add_edge(qw(a b)); \$g1->add_edge(qw(a c)); my \$c0 = \$g0->complete; ok(\$c0->has_edge(qw(a b))); ok(\$c0->has_edge(qw(a c))); ok(\$c0->has_edge(qw(b a))); ok(\$c0->has_edge(qw(b c))); ok(\$c0->has_edge(qw(c a))); ok(\$c0->has_edge(qw(c b))); is(\$g0, "a-b,a-c"); is(\$c0, "a-b,a-c,b-a,b-c,c-a,c-b"); my \$c1 = \$g1->complete; ok(\$c1->has_edge(qw(a b))); ok(\$c1->has_edge(qw(a c))); ok(\$c1->has_edge(qw(b a))); ok(\$c1->has_edge(qw(b c))); ok(\$c1->has_edge(qw(c a))); ok(\$c1->has_edge(qw(c b))); is(\$g1, "a=b,a=c"); is(\$c1, "a=b,a=c,b=c"); my \$g2 = Graph::Directed->new(countedged => 1); \$g2->add_edge(qw(a b)); \$g2->add_edge(qw(a c)); my \$c2 = \$g2->complete_graph; for my \$u (qw(a b c)) { for my \$v (qw(a b c)) { next if \$u eq \$v; ok(\$c2->has_edge(\$u, \$v)); is(\$c2->get_edge_count(\$u, \$v), 1); } }