47 lines
558 B
Perl
47 lines
558 B
Perl
use strict;
|
|
use warnings;
|
|
|
|
package Test::Deep::Boolean;
|
|
|
|
use Test::Deep::Cmp;
|
|
|
|
sub init
|
|
{
|
|
my $self = shift;
|
|
|
|
$self->{val} = shift() ? 1 : 0;
|
|
}
|
|
|
|
sub descend
|
|
{
|
|
my $self = shift;
|
|
my $got = shift;
|
|
|
|
return !( $got xor $self->{val} );
|
|
}
|
|
|
|
sub diag_message
|
|
{
|
|
my $self = shift;
|
|
my $where = shift;
|
|
return "Comparing $where as a boolean";
|
|
}
|
|
|
|
sub renderExp
|
|
{
|
|
my $self = shift;
|
|
|
|
$self->renderGot($self->{val});
|
|
}
|
|
|
|
sub renderGot
|
|
{
|
|
my $self = shift;
|
|
|
|
my $val = shift;
|
|
|
|
return ($val ? "true" : "false")." (".Test::Deep::render_val($val).")";
|
|
}
|
|
|
|
1;
|