use strict; use warnings; use Test::More; use lib qw(t/lib); use DBICTest; my $schema = DBICTest->init_schema(); my $cd_rs = $schema->resultset('CD')->search ({ artist => { '!=', undef }}); # create some CDs without tracks $cd_rs->create({ artist => 1, title => 'trackless_foo', year => 2010 }); $cd_rs->create({ artist => 1, title => 'trackless_bar', year => 2010 }); my $tr_count = $schema->resultset('Track')->count; my $tr_rs = $cd_rs->search_related('tracks'); my @tracks; while ($tr_rs->next) { push @tracks, $_; } is (scalar @tracks, $tr_count, 'Iteration is correct'); is ($tr_rs->count, $tr_count, 'Count is correct'); is (scalar ($tr_rs->all), $tr_count, 'All is correct'); done_testing;