X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F87ordered.t;h=9ca9c2e69a0818ac5a071f90db717b6164edec73;hb=22413d813c4f0347f5b44a9f9cf0e8f82157a1af;hp=67033dba448546fde0ab48297c18a49c39341011;hpb=9beded8a680abbc0bd7776ec47f9fb69d7392d5c;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/t/87ordered.t b/t/87ordered.t index 67033db..9ca9c2e 100644 --- a/t/87ordered.t +++ b/t/87ordered.t @@ -10,8 +10,6 @@ use POSIX qw(ceil); my $schema = DBICTest->init_schema(); -plan tests => 1269; - my $employees = $schema->resultset('Employee'); $employees->delete(); @@ -42,15 +40,16 @@ foreach my $group_id (1..4) { my $group_3 = $employees->search({group_id=>3}); my $to_group = 1; my $to_pos = undef; -while (my $employee = $group_3->next) { - $employee->discard_changes; # since we are effective shift()ing the $rs - $employee->move_to_group($to_group, $to_pos); - $to_pos++; - $to_group = $to_group==1 ? 2 : 1; +{ + my @empl = $group_3->all; + while (my $employee = shift @empl) { + $employee->move_to_group($to_group, $to_pos); + $to_pos++; + $to_group = $to_group==1 ? 2 : 1; + } } foreach my $group_id (1..4) { my $group_employees = $employees->search({group_id=>$group_id}); - $group_employees->all(); ok( check_rs($group_employees), "group positions after move_to_group" ); } @@ -124,17 +123,20 @@ $to_group = 1; my $to_group_2_base = 7; my $to_group_2 = 1; $to_pos = undef; -while (my $employee = $group_4->next) { - $employee->move_to_group({group_id_2=>$to_group, group_id_3=>$to_group_2}, $to_pos); - $to_pos++; + +{ + my @empl = $group_3->all; + while (my $employee = shift @empl) { + $employee->move_to_group({group_id_2=>$to_group, group_id_3=>$to_group_2}, $to_pos); + $to_pos++; $to_group = ($to_group % 3) + 1; $to_group_2_base++; $to_group_2 = (ceil($to_group_2_base/3.0) %3) +1 + } } foreach my $group_id_2 (1..4) { foreach my $group_id_3 (1..4) { my $group_employees = $employees->search({group_id_2=>$group_id_2,group_id_3=>$group_id_3}); - $group_employees->all(); ok( check_rs($group_employees), "group positions after move_to_group" ); } } @@ -266,3 +268,4 @@ sub check_rs { return 1; } +done_testing;