File: 09_isomorphism_traps.t

package info (click to toggle)
libgraph-nauty-perl 0.5.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 160 kB
  • sloc: perl: 202; makefile: 3
file content (33 lines) | stat: -rw-r--r-- 1,044 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use strict;
use warnings;
use Graph::Nauty qw(
    are_isomorphic
);
use Graph::Undirected;
use Test::More tests => 4;

my @vertices = map { { name => $_ } } 0..3;

my $A = Graph::Undirected->new;
my $B = Graph::Undirected->new;

my $C = Graph::Undirected->new;
my $D = Graph::Undirected->new;

$A->add_edges( $vertices[0], $vertices[1],
               $vertices[1], $vertices[2] );
$B->add_edges( $vertices[0], $vertices[1],
               $vertices[1], $vertices[3] );

$C->add_edges( $vertices[0], $vertices[1],
               $vertices[1], $vertices[2] );
$D->add_edges( $vertices[0], $vertices[1],
               $vertices[1], $vertices[2] );

$C->set_edge_attribute( $vertices[0], $vertices[1], 'color', 'red'  );
$D->set_edge_attribute( $vertices[0], $vertices[1], 'color', 'blue' );

ok( !are_isomorphic( $A, $B, sub { return $_[0]->{name} } ) );
ok( !are_isomorphic( $A, $C, sub { return $_[0]->{name} } ) );
ok( !are_isomorphic( $C, $A, sub { return $_[0]->{name} } ) );
ok( !are_isomorphic( $C, $D, sub { return $_[0]->{name} } ) );