30_mixedged.t   [plain text]


use Test::More tests => 96;
	
use Graph;

for my $m (0, 1) {
    for my $r (0, 1) {
	for my $h (0, 1) {
	    my $g = Graph->new(countedged => $m,
			       hyperedged => $h);
	    print "# m = $m, c = $r, h = $h\n";
	    $g->omnidirected($r);
	    $g->add_edge("a", "b");
	    $g->add_edge("a", "b");
	    if ($g->hyperedged) {
		$g->add_edge("c", "d", "e");
		$g->add_edge("c", "d", "e");
	    }
	    for (1, 2) {
		ok(  $g->has_vertices( ) );
		ok(  $g->has_edge("a", "b") );
		if ($g->hyperedged) {
		    ok(  $g->has_edge("c", "d", "e") );
		}
		ok( !$g->has_edge("e", "f") );
	    }
	    for (1, 2) {
		is( $g->get_edge_count("a", "b"),      $m ? 2 : 1 );
		if ($g->hyperedged) {
		    is( $g->get_edge_count("c", "d", "e"), $m ? 2 : 1 );
		}
		is( $g->get_edge_count("e", "f"),      0 );
	    }
	}
    }
}