package Mock::Tests::Iterator; use t::Utils; use base 'Test::Class'; use Mock::Tests; use Test::More; sub t : Tests { mock->set( user => '1foo' ); mock->set( user => '2bar' ); mock->set( user => '3baz' ); my $itr = mock->get( user => 1 ); isa_ok($itr, 'Data::Model::Iterator::Empty'); ok(!$itr, 'record not found'); ok(!$itr->has_next, 'next record not found'); $itr = mock->get( 'user' => { order => [ +{ foo => 'ASC' } ] } ); isa_ok($itr, 'Data::Model::Iterator'); my @exps = qw( 1foo 2bar 3baz ); ok($itr->has_next, 'next record found'); while (<$itr>) { my $v = shift @exps; is($_->foo, $v, "foo is $v"); } ok(!$itr->has_next, 'next record not found'); } 1;