in reply to Using ArrayRef data members in Moose
which gives#!/usr/bin/perl use lib 'lib'; use strict; use warnings; use MyHolder; use Moose::Autobox; use Test::More tests => 6; BEGIN { use_ok( 'MyHolder' ); } my $cup_holder = MyHolder->new(); # name $cup_holder->name("cupboard"); is ($cup_holder->name(), "cupboard", "name of cup holder should be cupboard"); # things my @cups = qw(blue green green yellow); $cup_holder->things(\@cups); is ($cup_holder->things->length, 4, "there should be four things in th +e cupboard"); # add an element to the array $cup_holder->things->push("red"); is ($cup_holder->things->length, 5, "there should be five things in th +e cupboard"); # remove the last element from the array my $thing = $cup_holder->things->pop; is ($cup_holder->things->length, 4, "there should be four things in th +e cupboard"); is ($thing, "red", "the cup should be red");
Or you could make 'things' have type Object::Array instead of 'ArrayRef', for similar results but without autoboxing.$ prove -v t/test_holder...... 1..6 ok 1 - use MyHolder; ok 2 - name of cup holder should be cupboard ok 3 - there should be four things in the cupboard ok 4 - there should be five things in the cupboard ok 5 - there should be four things in the cupboard ok 6 - the cup should be red ok All tests successful. Files=1, Tests=6, 3 wallclock secs ( 0.01 usr 0.00 sys + 2.52 cusr + 0.03 csys = 2.56 CPU) Result: PASS
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Using ArrayRef data members in Moose
by dmorgo (Pilgrim) on Jul 05, 2008 at 03:39 UTC |