use strict; use warnings; no warnings 'uninitialized'; use DBIx::DataModel -compatibility=> undef; use Test::More tests => 3; DBIx::DataModel->Schema('HR') # Human Resources ->Table(Employee => T_Employee => qw/emp_id/) ->Table(Department => T_Department => qw/dpt_id/) ->Table(Activity => T_Activity => qw/act_id/) ->Composition([qw/Employee employee 1 /], [qw/Activity activities * /]) ->Association([qw/Department department 1 /], [qw/Activity activities * /]); my $emp_meta = HR->table('Employee')->metadm; my %paths = $emp_meta->path; while (my ($path_name, $path)= each %paths) { my $opp = $path->opposite; my $opp_opp = $opp->opposite; isa_ok($opp, 'DBIx::DataModel::Meta::Path', "opposite is a Path"); isnt($path, $opp, "opposite is different"); is($path, $opp_opp, "opposite of opposite") }