in reply to Checking two scalars in Test::More $expected. It works, but is it proper?

You're attempting to compare 2 lists, so try converting the lists to anon. arrays and using the is_deeply() sub as in...
is_deeply( [ values($pig, $cow) ], [ qw/3 4/ ], "checking values" ) ;

A user level that continues to overstate my experience :-))

Replies are listed 'Best First'.
Re^2: Checking two scalars in Test::More $expected. It works, but is it proper?
by gctaylor1 (Hermit) on Mar 29, 2009 at 01:19 UTC
    Thanks Bloodnok. That works.
    One of the responses in the CB directed me to using  is_deeply but I didn't understand. When I look at the examples for Test::Simple and Test::More it all looks so simple but my searching didn't lead me to an example of testing subroutines. I would have never known to use anonymous arrays. Am I going about testing subroutines wrong? Or maybe I should ask if there's a simpler/newbie way to test subroutines?

    UPDATE:
    OK I think I understand now. The part I was missing was that I need to run the code in the test file and then compare the results. Like this I believe:

    #!/usr/bin/perl use strict; use warnings; use Mymodule qw( values ); use Test::More qw(no_plan); BEGIN { use_ok('Mymodule', qw( values )) }; my $pig = 3; my $cow = 4; my ($animals1, $animals2) = values($pig, $cow); is ($animals1, 3, "Checking animals1"); is ($animals2, 4, "Checking animals2");
    Doh!
      Bloodnok's solution has the added benefit of checking if values returned exactly two values.