1use strict; 2use warnings; 3 4package Test::Deep::Boolean; 5 6use Test::Deep::Cmp; 7 8sub init 9{ 10 my $self = shift; 11 12 $self->{val} = shift() ? 1 : 0; 13} 14 15sub descend 16{ 17 my $self = shift; 18 my $got = shift; 19 20 return !( $got xor $self->{val} ); 21} 22 23sub diag_message 24{ 25 my $self = shift; 26 my $where = shift; 27 return "Comparing $where as a boolean"; 28} 29 30sub renderExp 31{ 32 my $self = shift; 33 34 $self->renderGot($self->{val}); 35} 36 37sub renderGot 38{ 39 my $self = shift; 40 41 my $val = shift; 42 43 return ($val ? "true" : "false")." (".Test::Deep::render_val($val).")"; 44} 45 461; 47