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