# 56_neighbourhood.t   [plain text]

```use Test::More tests => 92;

use Graph;
my \$g0 = Graph->new;
my \$g1 = Graph->new(undirected => 1);

is( "@{[sort \$g0->successors(1)]}", "1 2 3" );
is( "@{[sort \$g0->successors(2)]}", "4" );
is( "@{[sort \$g0->successors(3)]}", "" );
is( "@{[sort \$g0->successors(4)]}", "" );
is( "@{[sort \$g0->successors(5)]}", "4" );
is( "@{[sort \$g0->successors(6)]}", "" );

is( "@{[sort \$g0->predecessors(1)]}", "1" );
is( "@{[sort \$g0->predecessors(2)]}", "1" );
is( "@{[sort \$g0->predecessors(3)]}", "1" );
is( "@{[sort \$g0->predecessors(4)]}", "2 5" );
is( "@{[sort \$g0->predecessors(5)]}", "" );
is( "@{[sort \$g0->predecessors(6)]}", "" );

is( "@{[sort \$g0->neighbours(1)]}", "1 2 3" );
is( "@{[sort \$g0->neighbours(2)]}", "1 4" );
is( "@{[sort \$g0->neighbours(3)]}", "1" );
is( "@{[sort \$g0->neighbours(4)]}", "2 5" );
is( "@{[sort \$g0->neighbours(5)]}", "4" );
is( "@{[sort \$g0->neighbours(6)]}", "" );

is( "@{[sort \$g1->successors(1)]}", "1 2 3" );
is( "@{[sort \$g1->successors(2)]}", "1 4" );
is( "@{[sort \$g1->successors(3)]}", "1" );
is( "@{[sort \$g1->successors(4)]}", "2 5" );
is( "@{[sort \$g1->successors(5)]}", "4" );
is( "@{[sort \$g1->successors(6)]}", "" );

is( "@{[sort \$g1->predecessors(1)]}", "1 2 3" );
is( "@{[sort \$g1->predecessors(2)]}", "1 4" );
is( "@{[sort \$g1->predecessors(3)]}", "1" );
is( "@{[sort \$g1->predecessors(4)]}", "2 5" );
is( "@{[sort \$g1->predecessors(5)]}", "4" );
is( "@{[sort \$g1->predecessors(6)]}", "" );

is( "@{[sort \$g1->neighbours(1)]}", "1 2 3" );
is( "@{[sort \$g1->neighbours(2)]}", "1 4" );
is( "@{[sort \$g1->neighbours(3)]}", "1" );
is( "@{[sort \$g1->neighbours(4)]}", "2 5" );
is( "@{[sort \$g1->neighbours(5)]}", "4" );
is( "@{[sort \$g1->neighbours(6)]}", "" );

ok(!\$g0->is_successorless_vertex(1));
ok(!\$g0->is_successorless_vertex(2));
ok( \$g0->is_successorless_vertex(3));
ok( \$g0->is_successorless_vertex(4));
ok(!\$g0->is_successorless_vertex(5));
ok( \$g0->is_successorless_vertex(6));

ok(!\$g0->is_predecessorless_vertex(1));
ok(!\$g0->is_predecessorless_vertex(2));
ok(!\$g0->is_predecessorless_vertex(3));
ok(!\$g0->is_predecessorless_vertex(4));
ok( \$g0->is_predecessorless_vertex(5));
ok( \$g0->is_predecessorless_vertex(6));

ok( \$g0->is_successorful_vertex(1));
ok( \$g0->is_successorful_vertex(2));
ok(!\$g0->is_successorful_vertex(3));
ok(!\$g0->is_successorful_vertex(4));
ok( \$g0->is_successorful_vertex(5));
ok(!\$g0->is_successorful_vertex(6));

ok( \$g0->is_predecessorful_vertex(1));
ok( \$g0->is_predecessorful_vertex(2));
ok( \$g0->is_predecessorful_vertex(3));
ok( \$g0->is_predecessorful_vertex(4));
ok(!\$g0->is_predecessorful_vertex(5));
ok(!\$g0->is_predecessorful_vertex(6));

is("@{[sort \$g0->successorless_vertices]}",   "3 4 6");
is("@{[sort \$g0->predecessorless_vertices]}", "5 6");

is("@{[sort \$g0->successorful_vertices]}",   "1 2 5");
is("@{[sort \$g0->predecessorful_vertices]}", "1 2 3 4");

ok(!\$g1->is_successorless_vertex(1));
ok(!\$g1->is_successorless_vertex(2));
ok(!\$g1->is_successorless_vertex(3));
ok(!\$g1->is_successorless_vertex(4));
ok(!\$g1->is_successorless_vertex(5));
ok( \$g1->is_successorless_vertex(6));

ok(!\$g1->is_predecessorless_vertex(1));
ok(!\$g1->is_predecessorless_vertex(2));
ok(!\$g1->is_predecessorless_vertex(3));
ok(!\$g1->is_predecessorless_vertex(4));
ok(!\$g1->is_predecessorless_vertex(5));
ok( \$g1->is_predecessorless_vertex(6));

ok( \$g1->is_successorful_vertex(1));
ok( \$g1->is_successorful_vertex(2));
ok( \$g1->is_successorful_vertex(3));
ok( \$g1->is_successorful_vertex(4));
ok( \$g1->is_successorful_vertex(5));
ok(!\$g1->is_successorful_vertex(6));

ok( \$g1->is_predecessorful_vertex(1));
ok( \$g1->is_predecessorful_vertex(2));
ok( \$g1->is_predecessorful_vertex(3));
ok( \$g1->is_predecessorful_vertex(4));
ok( \$g1->is_predecessorful_vertex(5));
ok(!\$g1->is_predecessorful_vertex(6));

is("@{[sort \$g1->successorless_vertices]}",   "6");
is("@{[sort \$g1->predecessorless_vertices]}", "6");

is("@{[sort \$g1->successorful_vertices]}",   "1 2 3 4 5");
is("@{[sort \$g1->predecessorful_vertices]}", "1 2 3 4 5");

```