List-Enumerator
view release on metacpan or search on metacpan
t/10_from_list-rubylike.t view on Meta::CPAN
package List::RubyLike::Test;
use strict;
use warnings;
use base qw/Test::Class/;
use Test::More;
# These tests are from List::RubyLike wrote by Naoya Ito.
# http://github.com/naoya/list-rubylike/tree/master
# use List::RubyLike;
use lib 'lib';
use List::Enumerator E => { -as => 'list' };
use Data::Dumper;
sub p ($) { warn Dumper shift }
#sub test_instance : Test(12) {
# ## class->new
# my $list = [qw/foo bar baz/];
# my $object = List::RubyLike->new($list);
# ok $object;
#
# isa_ok $object, 'List::RubyLike';
# ok UNIVERSAL::isa($list, 'List::RubyLike');
#
# is @$object, 3;
# is $object->[0], 'foo';
#
# ## $object->new
# $object = $list->new([qw/foo bar baz/]);
# isa_ok $object, 'List::RubyLike';
# ok UNIVERSAL::isa($list, 'List::RubyLike');
# is @$object, 3;
# is $object->[0], 'foo';
#
# ## empty argument
# $object = List::RubyLike->new;
# isa_ok $object, 'List::RubyLike';
# is_deeply $object->to_a, [];
#
# ## exception
# eval { $object = List::RubyLike->new(qw/foo bar baz/) };
# ok $@;
#}
#
#sub test_instantiate : Test(8) {
# my $list = list([qw/foo bar baz/]);
# isa_ok $list, 'List::RubyLike';
# is @$list, 3;
#
# $list = list(qw/foo bar baz/);
# isa_ok $list, 'List::RubyLike';
# is @$list, 3;
#
# $list = list();
# isa_ok $list, 'List::RubyLike';
# is @$list, 0;
#
# $list = list({ foo => 'bar' });
# isa_ok $list, 'List::RubyLike';
# is_deeply $list->to_a, [ { foo => 'bar' } ];
#}
sub test_push_and_pop : Test(7) {
my $list = list(qw/foo bar baz/);
$list->push('foo');
is @$list, 4;
is $list->[3], 'foo';
$list->push('foo', 'bar');
is @$list, 6;
is $list->[5], 'bar';
is $list->pop, 'bar';
is @$list, 5;
( run in 2.090 seconds using v1.01-cache-2.11-cpan-bbc515a03b3 )