1use strict; use warnings; 2use Test::More tests => 50; 3 4use Graph; 5my $g0 = Graph->new; 6my $g1 = Graph->new(undirected => 1); 7 8$g0->add_edge(1=>1); $g1->add_edge(1=>1); 9$g0->add_edge(1=>2); $g1->add_edge(1=>2); 10$g0->add_edge(1=>3); $g1->add_edge(1=>3); 11$g0->add_edge(2=>4); $g1->add_edge(2=>4); 12$g0->add_edge(5=>4); $g1->add_edge(5=>4); 13$g0->add_vertex(6); $g1->add_vertex(6); 14 15is( $g0->in_degree(1), 1 ); 16is( $g0->in_degree(2), 1 ); 17is( $g0->in_degree(3), 1 ); 18is( $g0->in_degree(4), 2 ); 19is( $g0->in_degree(5), 0 ); 20is( $g0->in_degree(6), 0 ); 21 22is( $g0->out_degree(1), 3 ); 23is( $g0->out_degree(2), 1 ); 24is( $g0->out_degree(3), 0 ); 25is( $g0->out_degree(4), 0 ); 26is( $g0->out_degree(5), 1 ); 27is( $g0->out_degree(6), 0 ); 28 29is( $g0->degree(1), -2 ); 30is( $g0->degree(2), 0 ); 31is( $g0->degree(3), 1 ); 32is( $g0->degree(4), 2 ); 33is( $g0->degree(5), -1 ); 34is( $g0->degree(6), 0 ); 35 36is( $g0->vertex_degree(1), $g0->degree(1) ); 37is( $g0->vertex_degree(2), $g0->degree(2) ); 38is( $g0->vertex_degree(3), $g0->degree(3) ); 39is( $g0->vertex_degree(4), $g0->degree(4) ); 40is( $g0->vertex_degree(5), $g0->degree(5) ); 41is( $g0->vertex_degree(6), $g0->degree(6) ); 42 43is( $g1->in_degree(1), 4 ); 44is( $g1->in_degree(2), 2 ); 45is( $g1->in_degree(3), 1 ); 46is( $g1->in_degree(4), 2 ); 47is( $g1->in_degree(5), 1 ); 48is( $g1->in_degree(6), 0 ); 49 50is( $g1->out_degree(1), 4 ); 51is( $g1->out_degree(2), 2 ); 52is( $g1->out_degree(3), 1 ); 53is( $g1->out_degree(4), 2 ); 54is( $g1->out_degree(5), 1 ); 55is( $g1->out_degree(6), 0 ); 56 57is( $g1->degree(1), 4 ); 58is( $g1->degree(2), 2 ); 59is( $g1->degree(3), 1 ); 60is( $g1->degree(4), 2 ); 61is( $g1->degree(5), 1 ); 62is( $g1->degree(6), 0 ); 63 64is( $g1->vertex_degree(1), $g1->degree(1) ); 65is( $g1->vertex_degree(2), $g1->degree(2) ); 66is( $g1->vertex_degree(3), $g1->degree(3) ); 67is( $g1->vertex_degree(4), $g1->degree(4) ); 68is( $g1->vertex_degree(5), $g1->degree(5) ); 69is( $g1->vertex_degree(6), $g1->degree(6) ); 70 71is( $g0->degree, 0 ); 72is( $g1->degree, 10 ); 73 74