bronto has asked for the wisdom of the Perl Monks concerning the following question:
Dear Fellow monks
I am writing a test script for a module (a class actually), and I'm in doubt on how to check that a method is returning a list of values (not a reference, not a scalar: a plain old list)
Now, the only way to check this that comes into my mind is to assign the return value to both a scalar and a list and see if the assigned values are consistent. For example, this scriptlet works as I expect:
use strict ; use warnings ; sub test { my @x = qw(test) ; return @x } my $test = test() ; my @test = test() ; print ">>> $test\n" ; print map "[$_]\n",@test ; print $test == scalar(@test)? "Yepa!\n" : "Nope!\n" ;
I am wondering if there is a better way (i.e.: more Perlish or more compact) to do the same job.
Please note that I would like to do this without relying on extra modules, unless they are bundled with Perl 5.6.1; I don't want make test to depend on the presence of an optional module (other than those required by my modules themselves).
Thanks for any advice
--bronto
# Another Perl edition of a song:
# The End, by The Beatles
END {
$you->take($love) eq $you->made($love) ;
}
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Did I get what I expected (an array)?
by arturo (Vicar) on Jul 16, 2002 at 16:13 UTC | |
|
Re: Did I get what I expected (an array)?
by Abigail-II (Bishop) on Jul 16, 2002 at 15:58 UTC | |
by Anonymous Monk on Jul 16, 2002 at 16:35 UTC | |
by Abigail-II (Bishop) on Jul 16, 2002 at 17:31 UTC | |
by bronto (Priest) on Jul 17, 2002 at 08:21 UTC | |
|
Re: Did I get what I expected (an array)?
by broquaint (Abbot) on Jul 16, 2002 at 16:08 UTC | |
|
(Russ) Re: Did I get what I expected (an array)?
by Russ (Deacon) on Jul 16, 2002 at 16:11 UTC |